数据切片大熊猫框架 - 我遇到了独特的问题

时间:2018-01-02 15:44:49

标签: pandas

我在尝试选择列的子集并在其上运行unique时遇到问题。

来源数据:

df_raw = pd.read_csv('data/master.csv', nrows=10000)
df_raw.shape()

产地:

(10000, 86)

流程数据:

df = df_raw[['A','B','C']]
df.shape()

产地:

(10000, 3)

此外,做:

df_raw.head()
df.head()

生成正确的行和列列表。

然而,

print('RAW:',sorted(df_raw['A'].unique()))

完美运作

虽然:

print('PROCESSED:',sorted(df['A'].unique()))

产生

AttributeError: 'DataFrame' object has no attribute 'unique'

我做错了什么?如果形状和头部输出正是我想要的,我很困惑为什么我的处理数据集会抛出错误。我确实在SO上阅读了Pandas 'DataFrame' object has no attribute 'unique',它正确地说明了我正在做的事情就是应用于列的唯一需要。

2 个答案:

答案 0 :(得分:1)

这是一个重复列的情况。鉴于这是专有数据,我在这个问题中将其抽象为'A','B','C',因此掩盖了问题。 (实际数据集有86列,我在我的子集中两次重复了其中一列,并试图在其中做一个独特的)

我的问题是:

df_raw = pd.read_csv('data/master.csv', nrows=10000)
df = df_raw[['A','B','C', 'A']] # <-- I did not realize I had duplicated A later.

在'A'

上执行unique时会出现问题

答案 1 :(得分:0)

从整个数据框中提取基于列ID的数据子集。可行!

socialite driver