Python 3.x 通过按特定字符串结果筛选创建新数据帧

Python 3.x 通过按特定字符串结果筛选创建新数据帧,python-3.x,pandas,dataframe,Python 3.x,Pandas,Dataframe,我有“数据”数据框架:有“国家名称”、“国家代码”、“指示符名称”、“指示符代码”、“年份”、“价值”等列,我希望从中提取识字率数据和教育支出数据,以检查其是否一致。我想比较三个国家:挪威(人类发展指数最高)、圭亚那(人类发展指数中等)、中非共和国(人类发展指数最低)以及世界平均水平 我的计划是首先提取两个指标的行并创建新的数据帧: money=data.loc[data['IndicatorName']=='成人识字率,15岁以上人口,男女比例(%)' '识字率=数据.loc[数据['Indi

我有“数据”数据框架:有“国家名称”、“国家代码”、“指示符名称”、“指示符代码”、“年份”、“价值”等列,我希望从中提取识字率数据和教育支出数据,以检查其是否一致。我想比较三个国家:挪威(人类发展指数最高)、圭亚那(人类发展指数中等)、中非共和国(人类发展指数最低)以及世界平均水平

我的计划是首先提取两个指标的行并创建新的数据帧:
money=data.loc[data['IndicatorName']=='成人识字率,15岁以上人口,男女比例(%)'
'识字率=数据.loc[数据['IndicatorName']='成人识字率,15岁以上人口,男女比例(%)']

然后对这些国家进行同样的操作,按指标名称标记国家数据框架,并将它们并排进行比较

但当我打字时:
Norway\u money=money.loc[money['CountryName]=='Norway']
挪威钱。头
我得到:

空数据帧列的绑定方法NDFrame.head:[CountryName,IndicatorCode,Year,Value]索引:[]

当我尝试时:
Norway\u money=money['CountryName'].str.contains('Norway')

我得到的是布尔数据类型而不是数值

我在这个数据集上工作了一个多星期,但工作做得很差。我发现学习编程真的很难。我在论坛上搜索过,但没有找到我能理解的答案。有人能帮我指一下正确的方向吗

我正在处理的数据集位于链接下

我不知道还能怎么加

当我尝试时:
Norway\u money=money['CountryName'].str.contains('Norway')

我得到的是布尔数据类型而不是数值

这是因为您应该选择
money['CountryName'].str.contains('Norway')
从原始数据帧返回
True
的索引

这是通过
new\u df=money[money['CountryName'].str.contains('Norway')]

当我尝试时:
Norway\u money=money['CountryName'].str.contains('Norway')

我得到的是布尔数据类型而不是数值

这是因为您应该选择
money['CountryName'].str.contains('Norway')
从原始数据帧返回
True
的索引


这是通过
new\u df=money[money['CountryName'].str.contains('Norway')]

我找到了解决问题的粗略方法。过滤数据以查找所需指示器后:
money=data.loc[data['IndicatorName']==='教育支出占政府总支出的百分比(%)]

我已将结果保存到csv文件:
money.to_csv('money\u out')
并再次打开:
data\u money=pd.read\u csv('C://Week-6/money\u out.csv')


过滤国家的下一步现在确实有效,我不再得到空数据框。

我找到了解决问题的粗略方法。过滤数据以查找所需指示器后:
money=data.loc[data['IndicatorName']==='教育支出占政府总支出的百分比(%)]

我已将结果保存到csv文件:
money.to_csv('money\u out')
并再次打开:
data\u money=pd.read\u csv('C://Week-6/money\u out.csv')


过滤国家的下一步现在起作用了,我不再得到空数据框。

无数据无用处。添加示例数据和预期输出。我不认为你只有一个问题。@Bharath我已经编辑了我的问题并添加了到数据集的链接没有数据没有用处。添加示例数据和预期输出。我不认为你只有一个问题。@Bharath我已经编辑了我的问题并添加了数据集的链接谢谢你的快速回复@DeepSpace,我已经用新的[money['CountryName']替换了Norway\u money=money['CountryName'].str.contains('Norway')我还是空着DataFrame@Moonlit显然,您需要在DeepSpace提供您的实际数据@DeepSpace我已向我的数据集添加了一个链接,它有5656458行感谢您的快速回复@DeepSpace,我已将挪威_money=money['CountryName'].str.contains('Norway')替换为新的_df=money[money['CountryName'].str.contains('Norway')]我还是空着DataFrame@Moonlit显然,您需要在DeepSpace提供您的实际数据。我已经添加了一个到我的数据集的链接,它有56458行