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

如何创建带指定列名的空Pandas DataFrame并添加数据行

问题解答

1. 创建带指定列名的空Pandas DataFrame

你编写的第一行代码本身是正确的,直接给pd.DataFrame指定columns参数即可实现需求:

import pandas as pd
data_set = pd.DataFrame(columns=['POST_TEXT', 'TARGET'])

2. 为已创建的DataFrame添加一行数据

错误原因

你原代码data_set[data_set.shape[0]] = ['Today is a great day!', '1']的写法不符合Pandas的索引规则:Pandas中直接使用df[参数]的写法默认是操作列,因此你这行代码实际是新增了一列名为0的列,而非新增一行,这就是运行结果不符合预期的原因。

正确写法

方法1:用loc按行索引赋值(适合少量单行添加场景)

loc是Pandas专门用于按行标签取数/赋值的接口,直接定位到末尾的新行赋值即可:

# len(data_set) 和 data_set.shape[0] 效果一致,都可以获取当前DataFrame的行数,对应新行的索引值
data_set.loc[len(data_set)] = ['Today is a great day!', '1']
方法2:用pd.concat拼接(官方推荐,适配Pandas 2.0+版本,适合批量添加行场景)

先将待添加的数据转为单行DataFrame,再和原DataFrame拼接即可,ignore_index=True参数会自动重置行索引避免冲突:

# 构造待添加的行
new_row = pd.DataFrame([['Today is a great day!', '1']], columns=data_set.columns)
# 拼接数据
data_set = pd.concat([data_set, new_row], ignore_index=True)

内容的提问来源于stack exchange,提问作者hyper-cookie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:36:00