Poo*_*h V 2 python dataframe python-3.x pandas
我想知道对数据框列(熊猫)的每个列表进行排序。例如:
id values
------------------------
1 ['cdf','abc','efg']
2 ['xyz' ,'rsy','abc']
Run Code Online (Sandbox Code Playgroud)
预期的 :
id values
------------------------
1 ['abc','cdf','efg']
2 ['abc' ,'rsy','xyz']
Run Code Online (Sandbox Code Playgroud)
谢谢:我也想知道是否存在逗号分隔的字符串而不是列表。
只需用apply用sorted
df['values'].apply(sorted)
0 [abc, cdf, efg]
1 [abc, rsy, xyz]
Name: values, dtype: object
Run Code Online (Sandbox Code Playgroud)
对于逗号分隔值,感谢@AChampion:
df = pd.DataFrame({'id': [1,2], 'values': ['cdf, abc, efg', 'xyz, rsy, abc']})
df['values'].apply(lambda x: ','.join(sorted(x.split(','))))
0 abc, efg,cdf
1 abc, rsy,xyz
Name: values, dtype: object
Run Code Online (Sandbox Code Playgroud)
您还可以使用列表理解来提高性能:
df['values'] = [','.join(sorted(i.split(','))) for i in df['values']]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2535 次 |
| 最近记录: |