You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pandas Series列表元素提取遇NaN问题:如何拆分列表为多列

解决Pandas Series中提取数组元素返回NaN的问题

嘿,我来帮你理清楚这个问题!你遇到的NaN问题,核心原因是用错了方法——你的Series里存的是实际的Python列表(不是字符串形式的列表),但你用的str.extract和str.split都是专门处理字符串的方法,Pandas无法对非字符串元素应用这些字符串操作,所以才会返回NaN。

下面给你两种简单有效的解决方式:

方法一:用apply直接提取列表元素

因为每个元素都是Python列表,我们可以直接通过索引取值,用apply遍历整个Series:

import pandas as pd

# 假设你的Series是这样的
mySeries = pd.Series([[0, 0], [12, 15], [43, 45], [9, 10], [0, 0], [3, 3], [0, 0], [0, 0], [0, 0], [3, 3], [2, 2]])

# 提取第一个元素到新Series
first_elements = mySeries.apply(lambda x: x[0])
# 提取第二个元素到新Series
second_elements = mySeries.apply(lambda x: x[1])

方法二:转成DataFrame自动拆分列

如果想一次性得到两列数据,直接把Series转成DataFrame更高效:

df = pd.DataFrame(mySeries.tolist(), columns=['first_col', 'second_col'])
# 提取第一列作为新Series
first_elements = df['first_col']
# 提取第二列作为新Series
second_elements = df['second_col']

这两种方法都能直接处理你Series里的列表元素,不会出现NaN的问题~

内容的提问来源于stack exchange,提问作者Courtney White

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:45:46