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

我在数据框中有一列,其中包含一个列表。我的数据框列是:


 [],

 ['NORM'],

 ['NORM'],

 ['NORM'],

 ['NORM'],

 ['MI', 'STTC'],

如您所见,我有一个空列表和一个包含两个元素的列表。我怎样才能更改包含两个元素的列表以只取其中一个(我不在乎是哪个)。我尝试过df.column.explode(),但这只会添加更多行,我不想要更多行,我只需要使用其中之一。太感谢了


BIG阳
浏览 280回答 3
3回答

慕尼黑8549860

您可以使用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]

慕丝7291255

当您将列表存储到 pandas 列中时,我假设您不担心矢量化。所以你可以只使用列表理解:df[col] = [i[:1] for i in df[col]]

aluckdog

i, j 是您需要访问的单元格的位置,这将给出列表的第一个元素list_ = df.loc[i][j]if len(list_) > 0:   print(list_[0])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python