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

如何将Pandas DataFrame的行数添加至另一DataFrame作为新列

给Pandas DataFrame添加含总行数的新列

嘿,这事儿其实挺简单的,有好几种直观的方法能实现你要的效果——给现有DataFrame新增一列D,让每一行的D值都等于DataFrame的总行数(也就是你用df.shape拿到的1700)。我给你列几个最常用的方案:

方法1:直接赋值(最简单直接)

既然所有行的D值都一样,直接给新列赋值就行:

# 获取总行数
total_rows = df.shape[0]
# 新增列D,所有行赋值为总行数
df['D'] = total_rows

df.shape[0]就是DataFrame的行数,这样一行代码就能搞定,原DataFrame会直接被修改。

方法2:用assign()方法(链式操作友好)

如果你不想直接修改原DataFrame,或者喜欢用链式调用的写法,assign()是个不错的选择:

total_rows = df.shape[0]
# 返回一个带新列的新DataFrame,原df不变
new_df = df.assign(D=total_rows)

这种方式会返回一个新的DataFrame对象,原DataFrame保持原样,适合需要保留原始数据的场景。

方法3:用numpy.full()(更显式的写法)

如果你想更明确地指定填充的行数和值,可以借助numpy的full()函数:

import numpy as np

total_rows = df.shape[0]
df['D'] = np.full(total_rows, total_rows)

这个方法和第一种效果完全一致,只是写法更显式,适合需要和numpy配合的场景。

举个实际的小例子,假设你的原DataFrame是这样的:

A   B     C
0  30  40  text
1  30  40  text
...

执行上面任意一种方法后,你会得到:

A   B     C     D
0  30  40  text  1700
1  30  40  text  1700
...

所有行的D列都会是1700,完美符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 06:25:32