熊猫中的字符串操作

时间:2018-04-04 22:51:49

标签: python string concatenation

我正在尝试操作大量字符串,因此无法手动执行此操作。我是python的新手,所以我很难搞清楚这一点。

我有一个包含列的数据框:

df = pd.read_csv('filename.csv')
df
A      B      
0      big_apples
1      big_oranges
2      small_pears
3      medium_grapes

我需要它看起来更像:

A      B      
0      apples(big)
1      oranges(big)
2      pears(small)
3      grapes(medium)

我正在考虑使用startswith()函数和.replace()/连接所有内容。但后来我必须为每个列创建列,我需要它来识别唯一的前缀。有更有效的方法吗?

1 个答案:

答案 0 :(得分:3)

您可以进行一些字符串格式化并将其应用于系列:

df.B.apply(lambda x: '{}({})'.format(*x.split('_')[::-1]))


0       apples(big)
1      oranges(big)
2      pears(small)
3    grapes(medium)

此处apply正在将格式应用于系列的每个项目。然后应用您想要的字符串格式(我使用[::-1]来反转字符串的顺序)和*到"解包"列表中的返回值