我有一个电子表格,其中我在不同列中记录了城市并分布在不同行
例如,这是我的数据集
df = pd.DataFrame([['Jersey City','NYC','Miami','Charlotte'],
['Santa Clara','Santa Barbara','NYC'],
['Jersey City','Miami']])
所以这就是我试图做的,首先是一个转置
df.transpose()
输出是
print(df.transpose().to_string())
0 1 2
0 Jersey City Santa Clara Jersey City
1 NYC Santa Barbara Miami
2 Miami NYC None
3 Charlotte None None
(删除重复项)
我不确定我的方法是否是理想的方法,或者有更好的方法
最佳答案
这将起作用:
数据
df = pd.DataFrame([['Jersey City','NYC','Miami','Charlotte'],
['Santa Clara','Santa Barbara','NYC'],
['Jersey City','Miami']])
print(df.to_string())
0 1 2 3
0 Jersey City NYC Miami Charlotte
1 Santa Clara Santa Barbara NYC None
2 Jersey City Miami None None
解决方案
(无论有没有转置,您都会得到相同的结果)
df.transpose().stack().drop_duplicates().reset_index(drop=True)
0 Jersey City
1 Santa Clara
2 NYC
3 Santa Barbara
4 Miami
5 Charlotte
dtype: object
df.stack().drop_duplicates().reset_index(drop=True)
0 Jersey City
1 NYC
2 Miami
3 Charlotte
4 Santa Clara
5 Santa Barbara
关于python - 将多列合二为一,删除重复项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59201852/