python中每15行数据帧的平均值
我有一个数据帧(1500x11)。我必须选择15行中的每一行,并分别取每11列的平均值。所以我的最终数据帧应该是100x11。如何在Python中实现这一点。不太了解python中每15行数据帧的平均值,python,dataframe,mean,Python,Dataframe,Mean,我有一个数据帧(1500x11)。我必须选择15行中的每一行,并分别取每11列的平均值。所以我的最终数据帧应该是100x11。如何在Python中实现这一点。不太了解pandas,因此我已经用纯numpy编写了我的下一个解决方案。没有任何python循环,因此非常高效。并将结果转换回pandasDataFrame: 您可以使用pandas.DataFrame 使用for循环计算平均值,并创建一个计数器,该计数器应每15个条目重置一次 columns = [col1, col2, ..., co
pandas
,因此我已经用纯numpy
编写了我的下一个解决方案。没有任何python循环,因此非常高效。并将结果转换回pandas
DataFrame
:
您可以使用pandas.DataFrame 使用for循环计算平均值,并创建一个计数器,该计数器应每15个条目重置一次
columns = [col1, col2, ..., col12]
for columns, values in df.items():
# compute mean
# at every 15 entries save it
此外,还可以使用pd.DataFrame()创建新的数据帧
我建议您阅读文档。
以下各项应起作用:
dfnew=df[:0]
for i in range(100):
df2=df.iloc[i*15:i*15+15, :]
x=pd.Series(dict(df2.mean()))
dfnew=dfnew.append(x, ignore_index=True)
print(dfnew)
我认为这可能有助于我的数据框架的一列是Datetime。如何得到它的平均值。上述方法将其显示为“NaT”。时间2020-04-01 06:01:00 2020-04-01 06:02:00 2020-04-01 06:00 2020-04-01 06:04:00时间2020-04-02 17:42:00 2020-04-02 17:43:00 2020-04-02 17:44:00 2020-04-02 17:45:00 2020-04-02 17:46:00请看这里:
dfnew=df[:0]
for i in range(100):
df2=df.iloc[i*15:i*15+15, :]
x=pd.Series(dict(df2.mean()))
dfnew=dfnew.append(x, ignore_index=True)
print(dfnew)