AttributeError:'DataFrame'对象没有属性

use*_*350 18 python attributeerror pandas

我试图在ipython中运行这个文件时不断出现不同的属性错误...大熊猫的初学者所以也许我错过了什么

码:

from pandas import Series, DataFrame

import pandas as pd

import json

nan=float('NaN')
data = []
with open('file.json') as f:
for line in f:
    data.append(json.loads(line))

df = DataFrame(data, columns=['accepted', 'user', 'object', 'response'])
clean = df.replace('NULL', nan)
clean = clean.dropna()

print clean.value_counts() 

AttributeError: 'DataFrame' object has no attribute 'value_counts'
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

And*_*den 27

value_counts是一个Series方法而不是DataFrame方法(并且您尝试在DataFrame上使用它clean).您需要在特定列上执行此操作:

clean[column_name].value_counts()
Run Code Online (Sandbox Code Playgroud)

value_counts在DataFrame 上执行通常没有意义,但我想你可以通过展平底层值数组将它应用于每个条目:

pd.value_counts(df.values.flatten())
Run Code Online (Sandbox Code Playgroud)


sze*_*lin 10

要获得数据框中所有列的所有计数,它就是 df.count()

  • df.count()产生的结果与df ['col']。value_counts()又称为series.value_counts()的结果不同!但是,您的帖子可能对希望使用df.count()的人们有所帮助 (2认同)

per*_*tio 6

value_counts() 现在是一个 DataFrame 方法,因为 pandas 1.1.0

https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.value_counts.html