38

このファイルを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'

何か案は?

4

6 に答える 6

53

value_countsは、 DataFrameメソッドではなくSeriesメソッドです (そして、DataFrame で使用しようとしています)。特定の列でこれを実行する必要があります。clean

clean[column_name].value_counts()

通常value_counts、DataFrame で実行するのは意味がありませんが、基になる値の配列を平坦化することですべてのエントリに適用できると思います。

pd.value_counts(df.values.flatten())
于 2013-10-16T00:29:39.743 に答える
15

データフレーム内のすべての列のすべてのカウントを取得するには、df.count()

于 2015-04-29T00:02:24.693 に答える
0

私は同じ問題を抱えていました。それは機能していましたが、何らかの理由で機能していません。私はそれをgroupbyに置き換えました:

grouped = pd.DataFrame(data.groupby(['col1','col2'])['col2'].count())
grouped.columns = ['Value_counts']
grouped
于 2021-08-18T12:53:00.133 に答える
0

groupby() を使用している場合は、data.groupby('column_name') を格納する新しい変数を作成してから、その変数を取得し、value_counts() を適用してその列に再度アクセスします。df=data.groupby('city') のように、df['city'].value_counts() と言うことができます。これは私のために働いた

于 2022-02-25T00:43:07.320 に答える