具有来自其他数据帧的唯一值的数据帧(Pandas、python)

2024-09-30 16:41:12 发布

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

我有一个数据框,其中有重复的值(在每一列中没有重复的行)。 数据如下所示:

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

那些空值当然可以是NaN

我可以查看每一列并为每一列打印唯一的值:

for col in df:
    print (df[col].unique())

返回numpy数组。 但我不确定如何将其写入新的数据帧,使其看起来像我之前展示的那个样


Tags: 数据dfforcolnanjohnnullcol2
1条回答
网友
1楼 · 发布于 2024-09-30 16:41:12

我认为你需要:

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

相关问题 更多 >