【问题标题】:How do I select an element from a list in pandas?如何从熊猫列表中选择一个元素?
【发布时间】:2020-05-01 18:13:13
【问题描述】:

所以,我创建了一个列来存储包含多个字符串的列表,

import pandas as pd

lists = [['a1','b2'],['a1','b2','c3'],['b2','c3']]
series = pd.Series(lists, index =['XXX', 'YYY', 'ZZZ'])

series

# XXX        [a1, b2]
# YYY    [a1, b2, c3]
# ZZZ        [b2, c3]

我想检查一个字母是否是字符串的一部分,它们会根据一些标准进行选择,例如:

if 'b' in series['XXX']:
    series['XXX'] = element containing the selected letter

想要的结果:

XXX| b2         
YYY| [a1, b2, c3]         
ZZZ| [b2, c3]        

有什么方法可以遍历所有行吗?

【问题讨论】:

  • 你想从列表中只选择一个元素吗?
  • 您有标准列表,因此您可以使用列表推导来获取新列表 series['XXX'] = [x for x in series['XXX'] if 'b' in x] 并且最终您可以使用 [0] 仅获取此列表中的第一个元素。如果没有b 的元素可能会出现问题,因为[0] 会出错。

标签: python python-3.x pandas list dataframe


【解决方案1】:

如果我理解正确,您想列出您的系列中包含某些字母或字符串的所有元素,例如'b'。虽然,这与您的“期望结果”不一致。

但是,这会找到所有包含“b”的元素(并返回一个系列):

string_to_contain = 'b'
series.apply(lambda x: [_ for _ in x if string_to_contain in _])

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 2018-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-12
    • 2020-06-12
    • 1970-01-01
    相关资源
    最近更新 更多