在pandas数据框中删除同一行中重复的相同值并转换为单个值

2024-09-28 20:45:54 发布

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

我有一个数据集,其中有多个值在同一时间重复排。这里是数据的外观。你知道吗

id datapoint11     datapoint12    datapoint21    datapoint22
1  example.com    example2.com  example.com   example.com
2. test.com       test.com      test2.com      test.com
3. ex.com         ex.com        ex1.com       ex.com
4. te.com         test.com      te.com       test.com

我已经消除了将(datapoint11,datapoint12)作为一个集合和(datapoint21,datapoint22)作为另一个集合的重复值,并将它们替换为每个id的null。 下面是输出的样子:

id datapoint11    datapoint12  datapoint21    datapoint22
1  example.com    example2.com  example.com   nan
2. test.com       nan           test2.com     test.com
3. ex.com         nan           ex1.com       ex.com
4. te.com         test.com      te.com       test.com

代码应该是python

这需要一个子集重复数据消除,而不是整个数据帧重复数据消除。你知道吗


Tags: 数据testcomidexamplenanexte
1条回答
网友
1楼 · 发布于 2024-09-28 20:45:54

用途:

df.where(df.apply(lambda x: ~x.duplicated(),axis=1),np.nan)

    id   datapoint1    datapoint2 datapoint3    datapoint4
0  1.0  example.com  example2.com        NaN  example3.com
1  2.0     test.com           NaN        NaN           NaN
2  3.0       ex.com           NaN    ex1.com           NaN
3  4.0       te.com      test.com        NaN           NaN

相关问题 更多 >