gpt4 book ai didi

python - 使用 Python Pandas 读取列名

转载 作者:行者123 更新时间:2023-12-01 06:41:23 25 4
gpt4 key购买 nike

我是 python 新手,有一个关于使用 pandas 和 matplotlib 的问题。我正在解析 CSV 文件并使用列名称创建条形图。根据我那周要解析的 CSV 文件,列名称可能会有所不同。例如,本周的列名称可能是“星期三”、“星期四”和“星期日”,但下周它们可能是一周中的其他日子。我的脚本运行良好,我希望它无论如何都能做同样的事情。我的问题是如何读取列名称,这样我就不必手动指定名称,只需让它根据位置找到列(column1、column2、column3,...”。

注意:第一列是“名称”,如下面的脚本所示,这部分将始终相同,因此可以硬编码该列名称。所以我想进行软编码第 2、3 和 4 列的列名称。

这是我当前脚本的一部分,我必须手动读取列名称:

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

files = "myfile.csv"
df = pd.read_csv(files)
names = df['Names'].values
x = np.arange(len(names))
w = 0.40
difference = df['Sunday'] - df['Thursday']
colors = ['Red' if d < -5 else 'Blue' for d in difference]
plt.bar(x-w, df['Wednesday'].values, width=w*0.7, label='Wednesday', color = "cyan")
plt.bar(x, df['Thursday'].values, width=w*0.7, label='Thursday', color = "green")
plt.bar(x+w, df['Sunday'].values, width=w*0.7, label='Sunday', color = colors)
...

理想情况下,我想要一个如下所示的程序:

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

files = "myfile.csv"
df = pd.read_csv(files)
names = df['Names'].values
x = np.arange(len(names))
w = 0.40
column2 = ...
column3 = ...
column4 = ...
difference = df[col4] - df[col3]
colors = ['Red' if d < -5 else 'Blue' for d in difference]
plt.bar(x-w, df[column2].values, width=w*0.7, label='column2', color = "cyan")
plt.bar(x, df[column3].values, width=w*0.7, label='column3', color = "green")
plt.bar(x+w, df[column4].values, width=w*0.7, label='column4', color = colors)
...

为了更清楚地理解,以下是 CSV 文件的示例:

Name               Monday               Wednesday               Saturday           
Derick                 45                             60                           52                   
Jenna                 56                             87                           89                   
Lisa                    78                             93                           76                   
Harry                  98                             84                           79           

最佳答案

您可以简单地替换

column2 = ...
column3 = ...
column4 = ...

column2 = df.columns[2]
column3 = df.columns[3]
column4 = df.columns[4]

关于python - 使用 Python Pandas 读取列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59439662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com