编写一个Python程序,使用Numpy库读取一个cSV文件,该文件包含多列浮点数数据。你需要计算每列数据的平均值、中位数、最大值和最小值,并将结果保存到一个新的CSV文件中。
时间: 2024-10-22 16:19:45 浏览: 13
python 借助numpy保存数据为csv格式的实现方法
5星 · 资源好评率100%
首先,确保已安装了`pandas`和`numpy`库。如果还没有安装,可以使用以下命令安装:
```bash
pip install pandas numpy
```
然后,你可以按照以下步骤编写一个Python程序来实现这个功能:
```python
import numpy as np
import pandas as pd
# 读取CSV文件
def read_csv_and_calculate_stats(file_path):
# 使用pandas读取CSV文件
data = pd.read_csv(file_path)
# 确保所有列都是数值型
for col in data.columns:
if not data[col].dtype.kind == 'f':
print(f"Column '{col}' is not numeric, skipping it.")
data = data.drop(columns=[col])
# 计算每列的统计信息
stats = {
'mean': data.mean(),
'median': data.median(),
'max': data.max(),
'min': data.min()
}
# 将结果转换为DataFrame
stat_df = pd.DataFrame(stats)
# 保存新的CSV文件
output_file_path = "output.csv"
stat_df.to_csv(output_file_path, index=False)
# 调用函数并传入csv文件路径
read_csv_and_calculate_stats('input.csv')
```
在这个程序中,我们首先使用`pd.read_csv()`读取CSV文件,然后检查每一列的数据类型是否为浮点数。如果不是,我们将跳过该列。接下来,我们分别计算每列的平均值、中位数、最大值和最小值,并将结果存储在一个字典中。最后,我们将这些统计信息转换为DataFrame并保存到新的CSV文件中。
阅读全文