为了账号安全,请及时绑定邮箱和手机立即绑定

如何从 Python 的 pandas 列中的列表中删除元素?

如何从 Python 的 pandas 列中的列表中删除元素?

BIG阳 2023-02-15 17:18:00
我在数据框中有一列,其中包含一个列表。我的数据框列是: [], ['NORM'], ['NORM'], ['NORM'], ['NORM'], ['MI', 'STTC'],如您所见,我有一个空列表和一个包含两个元素的列表。我怎样才能更改包含两个元素的列表以只取其中一个(我不在乎是哪个)。我尝试过df.column.explode(),但这只会添加更多行,我不想要更多行,我只需要使用其中之一。太感谢了
查看完整描述

3 回答

?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

您可以使用Series.map自定义映射函数,该函数根据所需要求映射列的元素:

df['col'] = df['col'].map(lambda l: l[:1])

结果:


# print(df['col'])


0        []

1    [NORM]

2    [NORM]

3    [NORM]

4    [NORM]

5      [MI]


查看完整回答
反对 回复 2023-02-15
?
慕丝7291255

TA贡献1859条经验 获得超6个赞

当您将列表存储到 pandas 列中时,我假设您不担心矢量化。所以你可以只使用列表理解:

df[col] = [i[:1] for i in df[col]]


查看完整回答
反对 回复 2023-02-15
?
aluckdog

TA贡献1847条经验 获得超7个赞

i, j 是您需要访问的单元格的位置,这将给出列表的第一个元素


list_ = df.loc[i][j]

if len(list_) > 0:

   print(list_[0])


查看完整回答
反对 回复 2023-02-15
  • 3 回答
  • 0 关注
  • 279 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号