具有来自其他数据框(pandas,python)的唯一值的数据框

时间:2017-08-11 07:02:19

标签: python pandas

我有数据框,其中我有重复的值(在每列中没有重复的行)。 数据看起来像这样:

|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数组。 但是我不知道如何将它写入新的数据框架,看起来就像我表现得更糟糕。

1 个答案:

答案 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