私は、必要な方法でデータを非常に効率的にソート/フィルタリングするパンダを使用しています。
最後の列を複素数に変更するまで、このコードは正常に機能しました。今、私はエラーが発生します。
return self._cython_agg_general('mean') raise DataError('集計する数値型がありません') pandas.core.groupby.DataError: 集計する数値型がありません
エラーは、平均値が必要なため、オブジェクトを複素数に変換する方法が見つからないため、8番目の列(複素数を含む)を参照します(パンダが複素数をサポートするようになったことから)。
これは私が使用するコードです。
import numpy as np
import pandas as pd
df = pd.read_csv('final.dat', sep=",", header=None)
df.columns=['X.1', 'X.2', 'X.3', 'X.4','X.5', 'X.6', 'X.7', 'X.8']
df1 = df.groupby(["X.1","X.2","X.5"])["X.8"].mean().reset_index()
その後、上記のエラーが発生します。
ファイルを読み取ると、これが df 出力です。
<class 'pandas.core.frame.DataFrame'>
Int64Index: 21266 entries, 0 to 21265
Data columns (total 8 columns):
X.1 21266 non-null values
X.2 21266 non-null values
X.3 21266 non-null values
X.4 21266 non-null values
X.5 21266 non-null values
X.6 21266 non-null values
X.7 21266 non-null values
X.8 21266 non-null values
dtypes: float64(4), int64(3), object(1)
これは入力ファイルの小さなサンプルです。