Pandas 从列字典中访问特定值

我有一个具有这种格式的字典的数据框(列名是“到期”):

{'date': '2020-05-21', 'is_recurring': False, 'lang': 'en', 'string': 'May 21', 'timezone':
 None}None

我试图使用以下代码获取项目“日期”:

print(df.due.apply(lambda x: x['date']))

但我收到以下错误:

TypeError: 'NoneType' object is not subscriptable

所以我试图将 None 转换为 NA 以避免此错误(这是最佳做法吗?)。为此,我正在使用这个:

df['due'] = np.where(df['due'] is None, np.nan, df['due'])

但是,无行继续显示为无。我做错了什么?


四季花海
浏览 53回答 1
1回答

12345678_0001

您的列中可能有 NaN:df                                                 due0  {'date': '2020-05-21', 'is_recurring': False, ...1                                                NaN在这种情况下,熊猫提供str.get(或.str[..]速记)作为索引对象的“安全”方式:df['due'].str['date']0    2020-05-211           NaNName: due, dtype: object
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python