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

Pandas提取DataFrame单行时维度异常,如何正确生成单行独立DataFrame

问题根源

你使用csv.loc[0]提取单行时,pandas默认返回的是Series对象而非DataFrame:该Series的索引是原DataFrame的51个列名,值对应行的各列数值,所以你查看结构时会呈现为51行(对应原列数)、2列(对应索引+值)的形态,和你预期的1行51列DataFrame不符。


单行提取调整方法

如果要提取单行并保留DataFrame结构,给loc的行索引包裹一层列表即可:

# 提取第0行,返回1行51列的DataFrame
csv_row1 = csv.loc[[0]]
# 提取第1行,返回1行51列的DataFrame
csv_row2 = csv.loc[[1]]

# 验证维度,输出应为 (1,51)
print(csv_row1.shape)

如果你的DataFrame索引不是默认的数字序列,想按行的位置提取而非索引值提取,可以换成iloc方法,用法一致:csv.iloc[[0]]取位置第一行的DataFrame。


批量操作方法

如果要批量把每一行都生成独立的DataFrame,可以直接遍历原DataFrame的索引,将结果存入列表或字典统一管理:

# 方法1:存入列表,下标对应原行索引
row_df_list = [csv.loc[[i]] for i in csv.index]

# 方法2:存入字典,key自定义(比如用行号命名)
row_df_dict = {f"csv_row{i+1}": csv.loc[[i]] for i in csv.index}

# 调用示例,取第一行DataFrame
print(row_df_list[0].shape)
print(row_df_dict["csv_row1"].shape)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:15:03