我对Python是新手。我有以下代码:
import wbdata # World Bank's API
import pandas
import matplotlib.pyplot as plt
#countries I want
countries = ["CL","UY","HU"]
#indicators I want
indicators = {'NY.GNP.PCAP.CD':'GNI per Capita'}
#grab indicators above for countries I want and load into data frame
df = wbdata.get_dataframe(indicators, country=countries, convert_date=False)
#list the columns in data frame
list(df.columns.values)
In [1]:df
Out[1]:
GNI
country date
Chile 2017 13610.0
2016 13430.0
2015 14270.0
2014 15140.0
2013 15360.0
2012 14410.0
2011 12380.0
...
Uruguay 2017 23410.0
2016 11430.0
2015 11270.0
2014 11440.0
2013 65360.0
2012 94410.0
2011 10380.0
[174 rows x 1 columns]
In [2]: list(df.columns.values)
Out[2]: ['GNI']
Country Date GNI
Chile 2017 13610.0
Chile 2016 13430.0
Chile 2015 14270.0
Chile 2014 15140.0
Chile 2013 15360.0
Chile 2012 14410.0
Chile 2011 12380.0
...
Uruguay 2017 23410.0
Uruguay 2016 11430.0
Uruguay 2015 11270.0
Uruguay 2014 11440.0
Uruguay 2013 65360.0
Uruguay 2012 94410.0
Uruguay 2011 10380.0
[174 rows × 3 columns]
您只看到GNI作为列,因为国家和日期被用作索引(准确地说是多索引)。
您需要的是reset_index:
df = df.reset_index(drop=False)
这似乎是非常基本的知识,但我还是卡住了,尽管我有一些数据处理的理论背景(通过其他软件)。值得一提的是,我是蟒蛇和熊猫图书馆的新手。 我的任务是将系列名称列的值作为单独的列(从长到宽转换)。我花了很长时间尝试不同的方法,但只有错误。 例如: 我犯了一个错误: ...很多短信...通过值的长度是2487175,索引暗示2 有谁能指导我完成这个过程吗?谢谢 它用于代码“mydata=mydata”。pi
我有两个Pandas Dataframe和,其中是的一部分,我想创建一个Dataframe,其中包含中的code>。 以下是一个例子: 注: 我的DataFrame可能有多个列,但是必须仅在列上进行匹配。
我想知道是否可以从一个多索引级别中选择多个项目? 假设我有一个大熊猫数据帧,如下所示: 我想使用dataframe的lvl_2选择特定列 尝试类似< code>df.xs(['c ',' e'],level='lvl_2 ',axis=1)的内容会导致错误: 关键错误:“e”
我有一个熊猫数据框,看起来像这样。 我想确定猫和蝙蝠是重复的相同值,因此想删除一条记录,只保留第一条记录。所得到的数据帧应该只具有。
我想知道如何获取日期列的值。键入df时,“日期”列不显示。柱。我正试图用df将这个df转换成一个Json文件。to_json(),它获取除日期以外的所有值。谢谢大家。 输入[49]:输入(df)输出[49]:熊猫。果心框架数据帧
我有点被困在提取一个变量的值和另一个变量的条件上。例如,以下数据帧: 当时,如何获取的值?每次提取的值时,都会得到一个对象,而不是字符串。