gpt4 book ai didi

python - 如何使用 Pandas 计算数据框中的单词?

转载 作者:行者123 更新时间:2023-12-04 00:14:21 24 4
gpt4 key购买 nike

假设我有那个数据框 df:

index      col1      col2
1 48 alpha bravo charlie
2 52 alpha bravo
3 49 alpha bravo charlie delta echo
4 12 alpha bravo
5 6 alpha

我想要的是当单元格中有超过2个单词时删除col2中的第一个单词。

所以它应该是这样的:

index      col1      col2
1 48 bravo charlie
2 52 alpha bravo
3 49 bravo charlie delta echo
4 12 alpha bravo
5 6 alpha

我已将该行编码为 df['col2'] = df['col2'].apply(lambda x: ' '.join(x.split(' ')[1:]))

但我不知道如何将条件应用到我的数据框中。

最佳答案

添加带有计数空格的if-else语句:

df['col2'] = df['col2'].apply(lambda x: ' '.join(x.split()[1:]) if x.count(' ') > 1 else x)

或者:

df['col2'] = df['col2'].apply(lambda x: x.split(maxsplit=1)[1] if x.count(' ') > 1 else x)

print (df)
index col1 col2
0 1 48 bravo charlie
1 2 52 alpha bravo
2 3 49 bravo charlie delta echo
3 4 12 alpha bravo
4 5 6 alpha

Pandas 替代品:

df['col2']=df['col2'].mask(df['col2'].str.count(' ') > 1, df['col2'].str.split(n=1).str[1])
print (df)
index col1 col2
0 1 48 bravo charlie
1 2 52 alpha bravo
2 3 49 bravo charlie delta echo
3 4 12 alpha bravo
4 5 6 alpha

关于python - 如何使用 Pandas 计算数据框中的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64999656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com