【问题标题】:Find unique entries in a DataFrame在 DataFrame 中查找唯一条目
【发布时间】:2022-01-08 08:25:18
【问题描述】:

我有一个包含未知范围对象(名称)的数据框 (a)。

(a)
0  1    2    3    4     ...
1  Kay  Mary John Carl  ...
2  Mary Carl None None  ... 
3  Kay  Mary John Peter ...
4  Kay  John Carl None  ...

我的目标是获取数据框中的每个唯一对象 (a) 并以这些对象作为索引创建一个新的数据框 (b)。

(b)
0     1    2    3   4 
Kay   ...
Mary  ...
John  ...
Carl  ...
Peter ...
... 

【问题讨论】:

  • b 的值应该是多少?
  • np.unique(df.values.tolist())
  • @Corralien 'b' 应该是一个空数据框,我只需要索引。

标签: python pandas dataframe


【解决方案1】:

用途:

b = pd.DataFrame(index=a.stack().unique())
print(b)

# Output
Empty DataFrame
Columns: []
Index: [Kay, Mary, Carl, John, Peter]

设置:

a = pd.DataFrame({'0': ['Kay', 'Mary', 'Kay', 'Kay'],
                  '1': ['Mary', 'Carl', 'Mary', 'John'],
                  '2': ['John', None, 'John', 'Carl'],
                  '3': ['Carl', None, 'Peter', None]})

假设None 不是字符串'None' 而是NoneType。如果不是这种情况,请使用:

b = pd.DataFrame(index=a.replace('None', float('NaN')).stack().unique())

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 2023-01-27
    • 2017-09-10
    相关资源
    最近更新 更多