【发布时间】:2020-11-10 02:35:46
【问题描述】:
我有一些看似很简单的问题,但我无法理解。
我有一个用于推文的 pandas 数据框。用户的位置以各种方式注册在名为“Location”的变量中:
当位置记录好时,我经常得到:
{'country_code': 'tr', 'state': 'Central Anatolia Region', 'county': 'Çankaya', 'city': 'Ankara'}
或
('country_code': 'tr', 'state': 'Black Sea Region', 'city': 'Trabzon'}
但有时,我得到的只是:
{'country_code': 'tr'}
('country_code': 'tr', 'state': 'Batman'}
而且通常什么都没有,注册的只是这样的:
{}
我想编写一个脚本,可以在我的 pandas 数据框中为这些单独的值创建新变量。换句话说,如果为特定行注册了 country_code,那么我希望将相关值记录在名为 country_code 的变量中。对于州、县和市,依此类推。如果什么都没有,它可以简单地为所有有问题的缺失变量(县、州、市)输入一个空白或 NA。
最终结果应该是,我的数据框中有四个新变量:国家代码、州、县和城市,基于在“位置”变量中注册的值,并为这些变量注册了一些(或什么都没有)价值观。
有人可以帮忙吗?
非常感谢!
【问题讨论】:
-
我很困惑,因为当您描述
DataFrame时,您显示的是dict。你指的是list of dict吗? -
感谢英扬的回复!我的 pandas 数据框中的变量 Location 具有这些值——它们似乎被注册为一个系列:
type(newdf2['Location']) Out[31]: pandas.core.series.Series -
pandas 会自动用 NULL 填充缺失的变量。尝试从
newdf2打印一些行。 -
我明白了,谢谢 Inyoung。但问题是我想根据变量“Location”中为 country_code、city、county 和 state 注册的值创建四个新变量。
标签: python-3.x pandas tweets