如何删除 pandas DataFrame 中任何行的重复单元格?

How can I remove duplicate cells of any row in pandas DataFrame?

我需要更新 pandas DataFrame,如下所示。有可能吗? [我非常感谢你所有的时间和努力。抱歉,我的问题引起了你们的困惑。我试图更新问题。再次感谢]

示例 1:

import pandas as pd    
#original dataframe
data = {'row_1': ['x','y','x','y'], 'row_2': ['a', 'b', 'a', None]}
data=pd.DataFrame.from_dict(data, orient='index')
print(data)

#desired dataframe from data
data1 = {'row_1': ['x','y'], 'row_2': ['a', 'b']}
data1=pd.DataFrame.from_dict(data1, orient='index')
print(data1)

示例 2:

import pandas as pd    
#original dataframe
data = {'row_1': ['x','y','p','x'], 'row_2': ['a', 'b', 'a', None]}
data=pd.DataFrame.from_dict(data, orient='index')
print(data)

#desired dataframe from data
data1 = {'row_1': ['x','y','p'], 'row_2': ['a', 'b']}
data1=pd.DataFrame.from_dict(data1, orient='index')
print(data1)

你可以使用duplicated方法。查看此 link 以获取有关 pandas' API 参考

的示例
data = data.apply(lambda x: x.transpose().dropna().unique().transpose(), axis=1)

这就是您要找的。使用 dropna 去掉 NaN,然后只保留 unique 元素。将此逻辑应用于数据框的每一行以获得所需的结果。

你可以这样做,

data = data.T.loc[data.T["row_1"].drop_duplicates().index, :].T

输出-

0 1
row_1 x y
row_2 a b