使用 str.split 函数拆分数据框中的列

2023-11-29

我试图将带有逗号分隔值的列拆分为 2 列,但 str.split 函数返回带有 0 和 1 的列,而不是拆分字符串值

我有一个数据框,其中有一列“全名”,其中有一个全名,并用逗号分隔姓氏和名字。

我使用了 str.split 函数,该函数在执行时仅用于显示。但是:当我尝试使用相同的函数将 2 个新列添加到具有拆分数据的同一数据帧时,我得到 2 个新列,其中第一个列始终填充 0,第二列填充 1。

用于显示分割数据的代码:

df2015_2019.iloc[:,0].str.split(',', expand=True)

无法使用拆分数据创建新列的代码:

df2015_2019['Lname'],df2015_2019['Fname'] = df2015_2019.iloc[:,0].str.split(',', expand=True)

我得到一列全为 0 的“Lname”和一列全为 1 的“Fname”


另一种实现此目的的方法如下。

示例数据集:

>>> df = pd.DataFrame({'Name': ['Karn,Kumar', 'John,Jimlory']})
>>> df
           Name
0    Karn,Kumar
1  John,Jimlory

Result:

您可以在拆分值时指定列名称,如下所示。

>>> df[['First Name','Last Name']] = df['Name'].str.split(",", expand=True)
>>> df
           Name First Name Last Name
0    Karn,Kumar       Karn     Kumar
1  John,Jimlory       John   Jimlory

或者,正如另一个答案所说..

>>> df['Name'].str.split(",", expand=True).rename({0: 'First_Name', 1: 'Second_Name'}, axis=1)
  First_Name Second_Name
0       Karn       Kumar
1       John     Jimlory

OR

>>> df['Name'].str.rsplit(",", expand=True).rename(columns={0:'Fist_Name', 1:'Last_Name'})
  Fist_Name Last_Name
0      Karn     Kumar
1      John   Jimlory

注意:您可以使用axis = columns or axis =1两者是相同的。

只是另一种方式使用Series.str.partition几乎没有争论,但是,我们必须使用drop as partition保留逗号“,”以及一列。

>>> df['Name'].str.partition(",", True).rename(columns={0:'Fist_Name', 2:'Last_Name'}).drop(columns =[1])
  Fist_Name Last_Name
0      Karn     Kumar
1      John   Jimlory

只要让它变得苗条,我们就可以定义 dict 值rename.

1 - 使用str.partition ..

dict = {0: 'First_Name', 2: 'Second_Name'}

df = df['Name'].str.partition(",", True).rename(dict2,axis=1).drop(columns =[1])
print(df)

  First_Name Second_Name
0       Karn       Kumar
1       John     Jimlory

2 - 使用str.split() ..

dict = {0: 'First_Name', 1: 'Second_Name'}

df = df['Name'].str.split(",", expand=True).rename(dict, axis=1)
 print(df)
  First_Name Second_Name
0       Karn       Kumar
1       John     Jimlory
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 str.split 函数拆分数据框中的列 的相关文章

随机推荐