我是Python的新手。我只用字母简化了下面的代码。我的代码编写了一个CSV文件,该文件的a,b,c,d列各有10行(长度)。我想将c和d的平均值添加到同一CSV文件中,以及另外两列,每列均包含一行ave值。我试图附加字段名称并编写新值,但这没有用。
with open('out.csv', 'w') as csvfile:
fieldnames=['a','b','c','d']
csv_writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
csv_writer.writeheader()
total_c=0
total_d=0
for i in range(1,length):
do something get a,b,c,d values.
total_c += c
total_d += d
csv_writer.writerow({'a': a,'b':b,'c':c,'d':d })
mean_c=total_c /length
mean_c=total_c /length
我希望在图片中看到一些东西
答案 0 :(得分:0)
尝试使用熊猫库处理csv文件。我在下面提供了示例代码,我假设csv文件的第一行中没有标题。
import pandas as pd
data = pd.read_csv('out.csv',header=[['a','b','c','d'])
#making sure i am using copy of dataframe
avg_data = data.copy()
#creating new columns average in same dataframe
avg_data['mean_c'] = avg_data.iloc[:,2].mean(axis=1)
avg_data['mean_d'] = avg_data.iloc[:,3].mean(axis=1)
# writing updated data to csv file
avg_data.to_csv('out.csv', sep=',', encoding='utf-8')