在 pandas 的 dataframe 中合并两列文本-ag捕鱼王app官网

在 pandas 的 dataframe 中合并两列文本

作者:迹忆客 最近更新:2024/04/22 浏览次数:

有时,使用数据集时,你需要组合两列或更多列以形成一列。例如,你有一个数据集,其中名字和姓氏以列分隔,现在你需要全名列。下面列出了完成此任务的不同方法。

  1. 运算符

在以下各节中,我们将使用相同的 dataframe,如下所示:

import pandas as pd
data = [["ali", "azmat", "30"], ["sharukh", "khan", "40"], ["linus", "torvalds", "70"]]
df = pd.dataframe(data, columns=["first", "last", "age"])
print(df)

输出:

     first      last age
0      ali     azmat  30
1  sharukh      khan  40
2    linus  torvalds  70

运算符方法

仅当你要合并相同数据类型的数据时,才使用 运算符。

import pandas as pd
data = [["ali", "azmat", "30"], ["sharukh", "khan", "40"], ["linus", "torvalds", "70"]]
df = pd.dataframe(data, columns=["first", "last", "age"])
df["full name"] = df["first"]  " "  df["last"]
print(df)

输出:

     first      last age       full name
0      ali     azmat  30       ali azmat
1  sharukh      khan  40    sharukh khan
2    linus  torvalds  70  linus torvalds

df.map() 方法

你还可以使用 df.map() 函数合并两列的文本。

import pandas as pd
data = [["ali", "azmat", "30"], ["sharukh", "khan", "40"], ["linus", "torvalds", "70"]]
df = pd.dataframe(data, columns=["first", "last", "age"])
df["full name"] = df["first"].map(str)  " "  df["last"]
print(df)

输出:

     first      last age       full name
0      ali     azmat  30       ali azmat
1  sharukh      khan  40    sharukh khan
2    linus  torvalds  70  linus torvalds

df.apply() 方法

join() 函数也用于连接字符串。我们可以使用 df.apply() 函数将其应用于我们的 dataframe.df.apply() 函数用于在特定轴上应用另一个函数。

import pandas as pd
data = [["ali", "azmat", "30"], ["sharukh", "khan", "40"], ["linus", "torvalds", "70"]]
df["full name"] = df[["first", "last"]].apply(" ".join, axis=1)
print(df)

输出:

     first      last age       full name
0      ali     azmat  30       ali azmat
1  sharukh      khan  40    sharukh khan
2    linus  torvalds  70  linus torvalds

series.str.cat() 方法

我们也可以使用 series.str.cat() 方法将 series / index 中的字符串与给定的分隔符连接起来。

import pandas as pd
data = [["ali", "azmat", "30"], ["sharukh", "khan", "40"], ["linus", "torvalds", "70"]]
df["full name"] = df["first"].str.cat(df["last"], sep=" ")
print(df)

输出:

     first      last age       full name
0      ali     azmat  30       ali azmat
1  sharukh      khan  40    sharukh khan
2    linus  torvalds  70  linus torvalds

df.agg() 方法

df.apply() 相同,此方法还用于在指定轴上应用特定函数。

import pandas as pd
data = [["ali", "azmat", "30"], ["sharukh", "khan", "40"], ["linus", "torvalds", "70"]]
df["full name"] = df[["first", "last"]].agg(" ".join, axis=1)
print(df)

输出:

     first      last age       full name
0      ali     azmat  30       ali azmat
1  sharukh      khan  40    sharukh khan
2    linus  torvalds  70  linus torvalds

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图