我有数据框,其中我有重复的值(在每列中没有重复的行)。 数据看起来像这样:
|Col1|Col2|Cold3|Col4|
| 1| A| John| -10|
| 2| A|Scoot| 234|
| 2| B|Kerry| 346|
| 6| B| Adam| -10|
我想从这个创建另一个df,看起来像这样:
|Col1|Col2|Cold3|Col4|
| 1| A| John| -10|
| 2| B|Scoot| 234|
| 6|null|Kerry| 346|
|null|null| Adam|null|
那些null当然可以是NaN。
我可以通过每一列并为每个列打印唯一值:
for col in df:
print (df[col].unique())
返回numpy数组。 但是我不知道如何将它写入新的数据框架,看起来就像我表现得更糟糕。
答案 0 :(得分:0)
我认为你需要:
df = df.apply(lambda x: pd.Series(x.unique()))
print (df)
Col1 Col2 Cold3 Col4
0 1.0 A John -10.0
1 2.0 B Scoot 234.0
2 6.0 NaN Kerry 346.0
3 NaN NaN Adam NaN
或者:
df = df.apply(lambda x: pd.Series(x.drop_duplicates().values))
print (df)
Col1 Col2 Cold3 Col4
0 1.0 A John -10.0
1 2.0 B Scoot 234.0
2 6.0 NaN Kerry 346.0
3 NaN NaN Adam NaN