对Pandas细胞进行排序

2024-09-28 01:25:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样的数据帧:

individual  states
1           Alaska, Hawaii 
2           Hawaii, Alaska
3           Kansas, Iowa, Maryland
4           New Jersey, Newada
5           Newada, New Jersey

我想对单元格内的字符串进行排序,并希望获得以下数据帧

^{pr2}$

我怎么能做到呢?在


Tags: 数据字符串new排序individualstatesjerseypr2
2条回答

这不是一个简单的问题。。。我建议使用map进行拆分、排序和连接:

df['states'] = df['states'].map(lambda x: ', '.join(sorted(x.split(', '))))
df

   individual                  states
0           1          Alaska, Hawaii
1           2          Alaska, Hawaii
2           3  Iowa, Kansas, Maryland
3           4      New Jersey, Newada
4           5      New Jersey, Newada

我使用get_dummies然后dot返回结果

s = df.states.str.get_dummies(', ')
s.dot(s.columns+',').str[:-1]
Out[861]: 
0           Alaska,Hawaii
1           Alaska,Hawaii
2    Iowa,Kansas,Maryland
3       New Jersey,Newada
4       New Jersey,Newada
dtype: object

df['state'] = s.dot(s.columns+',').str[:-1]

相关问题 更多 >

    热门问题