pandas读取两个csv文件指定列后求和再平均并写入新的csv文件
时间: 2023-07-31 12:08:09 浏览: 192
读取两个CSV文件中的指定列后,可以使用Pandas提供的merge函数将它们合并成一个DataFrame,然后再计算对应列的和和平均值,并将结果写入新的CSV文件中。以下是一个示例代码:
```python
import pandas as pd
df1 = pd.read_csv("your_file1.csv", usecols=[1, 3])
df2 = pd.read_csv("your_file2.csv", usecols=[2, 4])
merged_df = pd.merge(df1, df2, left_index=True, right_index=True) # 合并两个DataFrame
sum_col2_col3 = merged_df.iloc[:, 0] + merged_df.iloc[:, 1] # 计算第1列和第3列的和
avg_sum_col2_col3 = sum_col2_col3.mean() # 计算和的平均值
sum_df = pd.concat([merged_df, sum_col2_col3.rename("sum_col2_col3")], axis=1) # 将计算结果添加到DataFrame中
sum_df.loc["average"] = sum_df.mean() # 添加一行表示平均值
sum_df.loc["average", "sum_col2_col3"] = avg_sum_col2_col3 # 将和的平均值添加到"average"行中
sum_df.to_csv("your_output_file.csv", index=False) # 将结果写入新的CSV文件
```
在上面的代码中,我们首先使用read_csv函数读取两个CSV文件中的指定列,然后使用merge函数将它们合并成一个DataFrame。merge函数的left_index和right_index参数设为True,表示使用DataFrame的索引作为连接键。接着,我们使用iloc函数选择所需的列,并计算它们的和。注意,第1列对应的是merged_df的第0列,第3列对应的是merged_df的第1列。然后,我们将计算结果添加到DataFrame中,并使用mean函数计算和的平均值。接着,我们添加一行表示平均值,并将和的平均值添加到"average"行中。最后,我们将结果写入新的CSV文件中,其中index=False表示不输出行索引。
阅读全文