我有这样的数据框:
individual states
1 Alaska, Hawaii
2 Hawaii, Alaska
3 Kansas, Iowa, Maryland
4 New Jersey, Newada
5 Newada, New Jersey
我想对单元格中的字符串进行排序,并希望获得以下数据框
individual states
1 Alaska, Hawaii
2 Alaska, Hawaii
3 Iowa, Kansas, Maryland
4 New Jersey, Newada
5 New Jersey, Newada
我该怎么办?
答案 0 :(得分:3)
这不是一个简单的问题...我建议使用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
答案 1 :(得分:3)
我正在使用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]