使用python排序函数对数据帧中的值进行排序
我在下面的数据集中尝试对每列中的行值进行排序,但未能找到执行该操作的有效方法。我希望有人能给我指出一种更优化的排序方式:使用python排序函数对数据帧中的值进行排序,python,python-3.x,pandas,Python,Python 3.x,Pandas,我在下面的数据集中尝试对每列中的行值进行排序,但未能找到执行该操作的有效方法。我希望有人能给我指出一种更优化的排序方式: |列|到|排序|所需的|输出| |a,x,z,c | a,c,x,z| |球,苹果|苹果,球| 从本质上讲,我试图重新排列列中的项目列表,以按字母顺序排序,并用逗号分隔 我编写了以下代码来执行该操作,但我不认为这是执行该操作的最佳方式: def sort_val(x): String_ = x.split(",") String_.sort() re
|列|到|排序|所需的|输出|
|a,x,z,c | a,c,x,z|
|球,苹果|苹果,球|
从本质上讲,我试图重新排列列中的项目列表,以按字母顺序排序,并用逗号分隔
我编写了以下代码来执行该操作,但我不认为这是执行该操作的最佳方式:
def sort_val(x):
String_ = x.split(",")
String_.sort()
return (String_)
df['Desired_Output'] = df['Column_to_Sort'].apply(lambda x: sort_val(x))
使用dot
和get\u假人解决方案
s=df['Column_to_Sort'].str.get_dummies(', ').sort_index(axis=1)
s.dot(s.columns+',').str[:-1]
Out[547]:
0 a,c,x,z
1 apple,ball
dtype: object
你的代码在我看来很好。啊,太完美了,出于某种原因,我在我的机器上运行了两次,速度异常缓慢。只是再试一次,没有问题。我应该等一等再发帖。抱歉,是否可以关闭此问题?@Raptor 776如果您愿意,您可以随时删除您的问题。