如何压平pandas系列的系列?

问题描述 投票:0回答:1

使用数据帧/系列字符串提取方法时,结果是

series
series
。如何在不迭代行的情况下压平它并删除内部系列对象?

df = DataFrame({"a": ["asf cat llma 3X dog elepnt", "cat dog child monkey 5X sljka", "fsdjkl; dsfaa"]})
sr = df[df.a.str.contains("[3-6]X", na=False)].a.str.extract("([3-6]X)")

# sr is a series of series
[type(sr.iloc[i]) for i in range(sr.shape[0])]
# --> [<class 'pandas.core.series.Series'>, <class 'pandas.core.series.Series'>]

# I can add the expand parameter to no effect
sr = df[df.a.str.contains("[3-6]X", na=False)].a.str.extract("([3-6]X)", expand=True)
[type(sr.iloc[i]) for i in range(sr.shape[0])]
# --> [<class 'pandas.core.series.Series'>, <class 'pandas.core.series.Series'>]
python pandas
1个回答
0
投票

IIUC,

sr = df[df.a.str.contains("[3-6]X", na=False)].a.str.extract("([3-6]X)", expand=False)

[type(sr.iloc[i]) for i in range(sr.shape[0])]

输出:

[str, str]
© www.soinside.com 2019 - 2024. All rights reserved.