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

Pandas .iloc[]切片索引失效?嵌套结构DataFrame转换求助

解决DataFrame单元格提取text值的问题

问题分析

你的DataFrame每个单元格都是长度为1的列表,列表内包含一个带text键的字典,需要将所有单元格直接转换为字典中text对应的值,同时适配行列数不固定的场景。

通用处理方法

不需要复杂的循环和pd.concat,用pandas内置的高效方法即可实现:

方法1:applymap全局遍历单元格

applymap会对DataFrame的每个单元格执行指定函数,完美适配任意行列数:

import pandas as pd

# 示例构造你的原始DataFrame
data = {
    'Name': [[{'text': 'Server1.com'}], [{'text': 'Server2.com'}]],
    'Count': [[{'text': '100'}], [{'text': '200'}]]
}
df = pd.DataFrame(data)

# 提取所有单元格的text值
df_clean = df.applymap(lambda cell: cell[0]['text'])

方法2:按列用str方法处理

利用Series的str属性依次解析列表和字典,同样通用:

df_clean = df.copy()
for col in df_clean.columns:
    # 先取出列表中的字典,再提取text值
    df_clean[col] = df_clean[col].str[0].str['text']

关于你遇到的报错解释

你单独执行df[0].iloc[0][0]['text']能成功,是因为你直接定位到了单个单元格的列表元素;但用iloc[0:]切片后得到的是Series/DataFrame对象,不能直接用['text']访问——你需要先对切片里的每个单元格单独提取列表中的字典,再取text值,而不是直接对切片对象用字典键访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 10:01:16