在 Pandas 中读取、选择和重新排列列

Posted

技术标签:

【中文标题】在 Pandas 中读取、选择和重新排列列【英文标题】:Read, select and rearrange columns in Pandas 【发布时间】:2019-05-09 15:20:06 【问题描述】:

我有一个最佳实践问题。今天我学习了如何在 Pandas 中读写文件。如何创建表格,如何添加列和行以及如何删除它们。

我有一个excel文件,内容如下:

我创建一个新列“Price_average”,平均“Price_min”和“Price_max”并将其输出为 output_1.xlsx

    #!/usr/bin/env python3

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import xlrd


df = pd.read_excel('original.xlsx')
print (df)

df['Price_average'] = (df.Price_min + df.Price_max)/2

df.to_excel('output_1.xlsx', sheet_name='sheet1', index=False)
print (df)

然后,我使用以下命令支持“Price_min”和“price_max”列:

df = df.drop(['Price_min', 'Price_max'], axis=1)

假设我现在想创建这个表:

我可以删除“Age”和“Price_average”,然后将“email”换成“brand”,或者我可以简单地选择要创建新电子表格的列吗?

最好和最干净的方法是什么?从文件中减去不需要的列并重新排列,如果需要重命名列或选择并选择所需的列并以正确的顺序使用它们创建一个新文件。有什么建议?最干净的解决方法是什么?

【问题讨论】:

【参考方案1】:

你可以试试这个,

selected = df[['Age', 'Price_average', 'Email', 'Brand']]

如果要更改列名,

renamed = selected.rename(columns='Brand': 'brand', 'Email':'email')

【讨论】:

您是否也可以在不使用 .rename 的情况下发布您的第一个回复?谢谢 你能把前一个贴在下面作为单独的解决方案吗?谢谢男人

以上是关于在 Pandas 中读取、选择和重新排列列的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法重新排列选择结果列? [关闭]

重新排列火花列的顺序

Pandas 使用日期时间索引重新排列和插值时间序列

pandas-groupby子组的频率计算,新行的插入和列的重新排列

根据另一列将 pandas 列重新组合为 2D 列表

UNION表时如何在Bigquery中重新排列/重新排序嵌套的重复列