python对excel表格的数据从小到大排序,取排所有列的第5%,10%,50%,90%,95%的数据的值和取每列排所有列的第5%,10%,50%,90%,95%的数据的值,保存到新的Excel,列标题为行标题
时间: 2024-04-17 18:27:49 浏览: 147
可以使用Python中的pandas库来对Excel表格进行操作和排序。以下是一个示例代码,可以实现你的要求:
```python
import pandas as pd
# 读取原始Excel文件
df = pd.read_excel('input.xlsx')
# 对所有列进行排序
sorted_df = df.sort_values(by=list(df.columns))
# 计算百分位数
percentiles = [0.05, 0.1, 0.5, 0.9, 0.95]
percentile_values = sorted_df.quantile(percentiles)
# 创建新的Excel文件
output_df = pd.DataFrame(columns=df.columns)
# 将百分位数数据添加到新的Excel文件中
for col in df.columns:
col_data = []
for percentile in percentiles:
col_data.append(percentile_values[col][percentile])
output_df[col] = col_data
# 保存新的Excel文件
output_df.to_excel('output.xlsx', index=False)
```
在上面的代码中,需要将`input.xlsx`替换为你的原始Excel文件的路径。代码首先读取原始Excel文件,然后对所有列进行排序。接下来,使用`quantile`方法计算所需的百分位数数据。然后,创建一个新的DataFrame对象`output_df`,并按所需格式将百分位数数据添加到其中。最后,使用`to_excel`方法将新的Excel文件保存为`output.xlsx`。
请确保在运行代码之前已经安装了pandas库。你可以使用以下命令来安装pandas:
```
pip install pandas
```
希望能帮到你!如有其他问题,请随时提问。
阅读全文