【问题标题】:Create variables from values in another column in a pandas dataframe从 pandas 数据框中另一列中的值创建变量
【发布时间】: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


【解决方案1】:

我能够通过直接使用原始 JSON 文件来解决问题。我所做的只是使用类似于其他人建议here 的for 和if 循环将位置数据存储到我正在查找的不同类别中。我这样做了,而不是尝试使用 pandas 特定的函数将变量“Location”中注册的数据存储到我的数据集中的不同变量中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 2018-03-04
    • 1970-01-01
    • 2020-04-16
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多