python - 拆分 Pandas 列并将新结果附加到数据框

标签 python pandas lambda

如何拆分 pandas 列并将新结果附加到数据框?我也希望没有空白。

我想要的输出示例:

col1
Smith, John
Smith, John

col2               
Smith
Smith

col3
John
John

我一直在尝试这个,但 lambda 函数没有按照我想要的方式附加结果。

df_split = df1['col1'].apply(lambda x: pd.Series(x.split(',')))
df1['col2']= df_split.apply(lambda x: x[0])
df1['col3']= df_split.apply(lambda x: x[1])

我最终得到

col2  col3
Smith Smith
John  John

最佳答案

使用Series.str.split(..., expand=True) :

df[['col2', 'col3']] = df.col1.str.split(',\s+', expand=True); df

          col1   col2  col3
0  Smith, John  Smith  John
1  Smith, John  Smith  John

关于python - 拆分 Pandas 列并将新结果附加到数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45359956/

相关文章:

c++ - 在函数中使用 Lambda 作为参数

python - 如何将在纯 python 中动态创建的按钮添加到用 Kivy 语言编写的 kivy 布局?

python - 使用python计算字典中的基因突变

Python 摩尔斯电码 : S. O.S

python-3.x - python中的resample或asfreq pandas时间序列数据帧错误为 'Duplicate Index'

python - Pandas 在读取 CSV 时重命名列

java - 如果我通过 lambda 处理流事件,我应该关心 dynamodb 流分片吗?

c# - 如何将 Linq 扩展方法重写为委托(delegate)?

python - Sphinx Note Block 在代码块下的列表中?

python - 使用条件查找值