0

这是我在 jsonl 中的数据结构

"content": "Not yall gassing up a gay boy with no rhythm", "place": {"_type": "snscrape.modules.twitter.Place", "fullName": "Manhattan, NY", "name": "Manhattan", "type": "city", "country": "United States", "countryCode": "US"}

我尝试使用此代码从 place 列中选择 countryCode

country_df = test_df.loc[test_df['place'].notnull(), ['content', 'place']]
countrycode_df = country_df["place"].loc["countryCode"]

但它给了我这个错误

键错误:“国家代码”

我该如何解决?

我尝试过这种方法,但它不适合我的情况

4

2 回答 2

1

您可以通过以下方式访问它str

country_df['place'].str['countryCode']

输出:

0    US
Name: place, dtype: object
于 2021-05-29T14:17:13.963 回答
0

由于“地方”基本上是一个dict(嵌套的字典),您可以像更高级别一样访问它dict

country = {"content": "Not yall gassing up a gay boy with no rhythm", "place": {"_type": "snscrape.modules.twitter.Place", "fullName": "Manhattan, NY", "name": "Manhattan", "type": "city", "country": "United States", "countryCode": "US"}}
country["place"]["countryCode"]

输出:

'US'

但是,使用 pandas 可能更适合您的目的json_normalize()

country_df = pd.json_normalize(data = country)

print(country_df )

输出:

内容 地点._type place.fullName 地名 地点类型 地点.国家 地点.国家代码
不是你给一个没有节奏的同性恋男孩加油 snscrape.modules.twitter.Place 纽约曼哈顿 曼哈顿 城市 美国 我们
于 2021-05-29T14:33:46.883 回答