Pandas列作为字典如何始终提取第一个元素

2024-06-08 02:44:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pandas dataframe,它有以下列:

{'date': '2020-04-16T09:00:00', 'is_recurring': True, 'lang': 'en', 'string': 'every day at 9am', 'timezone': None}
{'date': '2020-04-16', 'is_recurring': False, 'lang': 'en', 'string': 'Apr 16', 'timezone': None}
None

我想做的是总是得到约会的第一个位置

基本上,我正在尝试获得以下输出:

'2020-04-16T09:00:00'
'2020-04-16'
None

我尝试了这个print(df['column'].str.split(",")[0]),但是我得到了“无”,我认为这不是检索所需输出的最佳方法

有人能帮我吗

谢谢


Tags: nonefalsetruedataframepandaslangdatestring
1条回答
网友
1楼 · 发布于 2024-06-08 02:44:40

由于“column”是字典,请尝试以下操作:

    for x in df['column']:
        print(x['date'])                     

另一种方法是使用“应用”方法

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

或"地图",

    print(df.column.map(lambda x: x['date']))

但是,如果您想要的是字典的第一个元素,不管它是什么,那么最好是在值列表中获取第一个元素​​由它返回,如下所示:

    print(df.column.map(lambda x: list(x.values())[0]))

记住python字典是由键标识的无序元素的集合,因此我认为上面的代码没有意义

问候

相关问题 更多 >

    热门问题