在转置之后找不到列名

2024-04-29 12:16:00 发布

您现在位置:Python中文网/ 问答频道 /正文

在转换Python数据帧之后,我无法访问列名来绘制图形。我想选择两列,但失败了。它总是说没有这样的列名。我对Python、dataframe和transpose还很陌生。有人能帮忙吗?在

下面是我的输入文件,我想把行转换成列。它是成功的当我换位,但我不能选择“加拿大”和“喀麦隆”来绘制一个图表。在

    country     1990    1991    1992    1993    1994    1995
0   Cambodia    65.4    65.7    66.2    66.7    67.1    68.4
1   Cameroon    63.9    63.7    64.7    65.6    66.6    67.6
2   Canada      98.6    99.6    99.6    99.8    99.9    99.9
3   Cape Verde  77.7    77.0    76.6    89.0    79.0    78.0
^{pr2}$

生成一个长长的消息列表

键错误:(“加拿大”,“喀麦隆”)


Tags: 文件数据图形dataframe图表绘制countrytranspose
1条回答
网友
1楼 · 发布于 2024-04-29 12:16:00

在处理数据时,您可能需要做一些事情。在

  1. 如果csv文件没有头,则使用df = pd.read_csv('StackoverflowGap.csv', na_values = missing_values, header = None)。在
  2. 转置时,需要命名列 df.columns= df.iloc[0]。在
  3. 完成此操作后,您需要删除表的第一行(因为它包含列名)df = df.reindex(df.index.drop(0))。在
  4. 最后,当按列访问数据时(在plt.plot()命令中),您需要在列列表上使用df[],即df[['Canada', 'Cameroon']]。在

编辑因此,我的代码如下所示

df = pd.read_csv('StackoverflowGap.csv', na_values = missing_values, header = None)
df = df.T
df.columns= df.iloc[0]
df = df.reindex(df.index.drop('country'))
df.index.name = 'Year'
plt.figure(figsize=(12,8))
plt.plot(df[['Canada','Cameroon']], linewidth = 0.5)
plt.title("Time Series for Canada")
plt.show()

相关问题 更多 >