![](/img/trans.png)
[英]Convert number strings with commas in pandas DataFrame to float
[英]Order column by number of commas in Pandas DataFrame
我有一个像这样的DataFrame:
>>> df = pd.DataFrame({'id_police':['s123','s124','s125','s126','s127'],
'raison':['dog','cat','cow','dog, cat, cow','dog, cat'],
})
>>> df
id_police raison
0 s123 dog
1 s124 cat
2 s125 cow
3 s126 dog, cat, cow
4 s127 dog, cat
而且我想通过柱订购raison
在DESC的方式是这样的(和ID被重置,但id_police保留):
id_police raison
0 s126 dog, cat, cow
1 s127 dog, cat
2 s123 dog
3 s124 cat
4 s125 cow
请帮忙,我想我需要一个lambda
函数来...
您可以使用count
+ argsort
df.iloc[(-df.raison.str.count(',')).argsort()]
Out[12]:
id_police raison
3 s126 dog, cat, cow
4 s127 dog, cat
0 s123 dog
1 s124 cat
2 s125 cow
您可以使用sort_values
这样那样创建一个数列之前,
:
df['count'] = df.raison.str.count(',')
df = df.sort_values('count', ascending=False).reset_index(drop=True)
df = df.drop('count', axis=1)
print(df)
id_police raison
0 s126 dog, cat, cow
1 s127 dog, cat
2 s123 dog
3 s124 cat
4 s125 cow
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.