如何生成数字并填充至DataFrame指定列的空白行
填充DataFrame中C列空白处的连续数字
问题说明
需要为给定DataFrame的C列空白位置填充从0开始的连续数字,同时保留已存在的非空白值。
原始数据
A B C 12525 1FWE23 14654 14654 24798 24798 38945 38945 46456 46485 8 AD545 45346 9 A5D66 A5D66 10
期望结果
A B C 12525 1FWE23 0 14654 14654 1 24798 24798 2 38945 38945 3 46456 46485 8 AD545 45346 9 A5D66 A5D66 10
解决代码
使用pandas可以通过以下步骤实现:
- 定位C列空白的行
- 为这些行分配从0开始的连续数字
import pandas as pd # 构建原始DataFrame data = { 'A': ['12525', '14654', '24798', '38945', '46456', 'AD545', 'A5D66'], 'B': ['1FWE23', '14654', '24798', '38945', '46485', '45346', 'A5D66'], 'C': ['', '', '', '', 8, 9, 10] } df = pd.DataFrame(data) # 为C列空白行生成连续数字 missing_rows = df['C'] == '' df.loc[missing_rows, 'C'] = range(len(df[missing_rows])) # 将C列转换为数值类型(可选) df['C'] = pd.to_numeric(df['C']) print(df)
代码解释
- 先根据给定数据创建DataFrame
- 通过
df['C'] == ''筛选出C列空白的行 - 使用
range()生成对应数量的连续数字,赋值给这些空白行 - 转换C列为数值类型,保证数据格式统一
内容的提问来源于stack exchange,提问作者Pravin
相关产品推荐
相关产品推荐

