用python对文件夹下所有excel数据的某一列画分布图和密度累计图
时间: 2023-12-17 19:04:02 浏览: 79
要使用Python对文件夹下所有Excel文件的某一列数据绘制分布图和密度累计图,你可以使用以下步骤:
1. 导入所需的库:
```python
import os
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
```
2. 定义函数来读取Excel文件和绘图:
```python
def plot_distribution(folder_path, column_name):
data = [] # 用于保存所有Excel文件中的数据
for filename in os.listdir(folder_path):
if filename.endswith(".xlsx") or filename.endswith(".xls"):
file_path = os.path.join(folder_path, filename)
df = pd.read_excel(file_path)
if column_name in df.columns:
data.extend(df[column_name].tolist()) # 将指定列的数据添加到data列表中
# 绘制分布图
sns.histplot(data, kde=True)
plt.xlabel(column_name)
plt.ylabel('Count')
plt.title('Distribution of ' + column_name)
plt.show()
# 绘制密度累计图
sns.kdeplot(data, cumulative=True)
plt.xlabel(column_name)
plt.ylabel('Cumulative Density')
plt.title('Cumulative Density Plot of ' + column_name)
plt.show()
```
3. 调用函数并提供文件夹路径和要绘制的列名:
```python
folder_path = 'your_folder_path'
column_name = 'your_column_name'
plot_distribution(folder_path, column_name)
```
请将 "your_folder_path" 替换为包含Excel文件的文件夹路径,"your_column_name" 替换为你要绘制的列名。运行代码后,将会显示分布图和密度累计图。
这个示例假设你的Excel文件是以扩展名 ".xlsx" 或 ".xls" 存储的。如果你的文件扩展名不同,请相应地修改代码。
希望这个回答对你有帮助。如果你有任何进一步的问题,请随时提问。
阅读全文