Я анализирую несколько CSV-файлов с помощью Pandas и объединяю их в один большой фрейм данных.Затем я хочу groupby
и вычислить mean()
.
Вот примерный кадр данных:
df1.head()
Time Node Packets
0 1 0 0
2 1 1 0
4 1 2 0
6 1 3 0
8 1 4 0
df1.info(verbose=True)
<class 'pandas.core.frame.DataFrame'>
Int64Index: 27972 entries, 0 to 55942
Data columns (total 3 columns):
Time 27972 non-null int64
Node 27972 non-null int64
Packets 27972 non-null int64
dtypes: int64(3)
memory usage: 874.1 KB
None
Затем я объединяю их (для простоты, три кадра данных)
df_total = pd.concat([df1, df2, df3])
df_total.info(verbose=True)
приводит к
<class 'pandas.core.frame.DataFrame'>
Int64Index: 83916 entries, 0 to 55942
Data columns (total 3 columns):
Time 83916 non-null object
Node 83916 non-null object
Packets 83916 non-null object
dtypes: object(3)
memory usage: 2.6+ MB
None
Наконец, я пытаюсь:
df_total = df_total.groupby(['Time'])['Packets'].mean()
и вот здесь появляется ошибка pandas.core.base.DataError: No numeric types to aggregate
.
Хотя я понимаю из других сообщений, таких как this , что Панды изменяют dtype
из-за non-null
, Я не смог решить мою проблему с помощью предложенных решений.
Как мне это исправить?