我有一个包含25000个行的csv文件。我想将每30行的平均值放入另一个csv文件中。
我用以下9行作为示例,新的csv文件有3行 (3, 1, 2):
| H |
========
| 1 |---\
| 3 | |--->| 3 |
| 5 |---/
| -1 |---\
| 3 | |--->| 1 |
| 1 |---/
| 0 |---\
| 5 | |--->| 2 |
| 1 |---/
我做了什么:
import numpy as np
import pandas as pd
m_path = "file.csv"
m_df = pd.read_csv(m_path, usecols=['Col-01'])
m_arr = np.array([])
temp = m_df.to_numpy()
step = 30
for i in range(1, 25000, step):
arr = np.append(m_arr,np.array([np.average(temp[i:i + step])]))
data = np.array(m_arr)[np.newaxis]
m_df = pd.DataFrame({'Column1': data[0, :]})
m_df.to_csv('AVG.csv')
这个方法很有效,但是是否还有其他的选项可以实现同样的效果?