Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 熊猫的弦操作_Python_String_Concatenation - Fatal编程技术网

Python 熊猫的弦操作

Python 熊猫的弦操作,python,string,concatenation,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 orang

我正在尝试操作一个大的字符串列表,因此无法手动执行此操作。我是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()/连接所有内容。但是我必须为每一个创建列,我需要它来识别唯一的前缀。有更有效的方法吗?

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

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


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

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