python - 获取列中给出的字符串(句子)的第一个字母并在 python 中创建一个新列

标签 python pandas

我在 pandas dataframe 中有一列,其中包含如下项目,

SubBrand
Sam William Mathew
Jonty Rodes
Chris Gayle

我想创建一个新列(SubBrand_new),例如

  SubBrand_new
0 SWM
1 JR
2 CG

我正在使用这段代码,

df1["SubBrand_new"] = "".join([x[0] for x in (df1["SubBrand"].str.split())])

但无法得到我要找的东西。有人可以帮忙吗?

最佳答案

我们可以用扩展和求和来拆分,即

df['SubBrand'].str.split(expand=True).apply(lambda x : x.str[0]).fillna('').sum(1)

0    SWM
1     JR
2     CG
dtype: object

关于python - 获取列中给出的字符串(句子)的第一个字母并在 python 中创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47676299/

相关文章:

python - 将时间戳转换为 str 值 python pandas dataframe

Python 抓取谷歌金融

Python - 导入函数的局部变量

python - 使用 Pandas 对有条件的重复行求和

python - 如何置换 Pandas 列的值?

python - 从下到上遍历数据框

python - 在一张图中 python plotly 绘制多个 pandas 数据帧

python - 如何用来自不同数据集的 "marginal"(分布直方图)覆盖 Seaborn 联合图

python - 将一列拆分为三个不同的列

python - 使用子进程 wait() 和 poll()