[Pandas] 添加新列

本文介绍了在Python的Pandas库中向DataFrame添加新列的三种常见方法:1) 直接赋值,如`df['新列'] = 值`;2) 使用`reindex()`函数,例如`df.reindex(columns=['原列', '新列'], fill_value=值)`;3) 利用`loc`函数,如`df.loc[:, '新列'] = 值`。并通过一个练习案例展示了如何创建自增id列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

美图欣赏2022/06/18

数据准备

import pandas as pd

df = pd.DataFrame([['ABC'],
                   ['FJZ'],
                   ['FOC']
                  ],columns=['Site'])

df


在平时开发中,添加新数据列涉及到以下三种常用方法:

1. 直接赋值

语法: df[新列名] = 值

import pandas as pd
import numpy as np

df = pd.DataFrame([['ABC'],
                   ['FJZ'],
                   ['FOC']
                  ],columns=['Site'])

# 添加空值数据列
# 添加'Level','Remark'列,将两列的值设置为空(keep blank)
df['Level'] = np.nan
df['Remark'] = np.nan

2.reindex()函数

语法: df.reindex(columns=[原来所有的列名,新增列名],fill_value=值)

import pandas as pd

df = pd.DataFrame([['ABC'],
                   ['FJZ'],
                   ['FOC']
                  ],columns=['Site'])

# 添加新列'Quantity'和'Product_number',并将其值设置为0
df = df.reindex(columns = ['Site', 'Quantity', 'Product_number'], fill_value=0)

注意: 不加fill_value参数,默认值为nan

3.loc()函数

语法: df.loc[:,新列名] = 值

import pandas as pd

df = pd.DataFrame([['ABC'],
                   ['FJZ'],
                   ['FOC']
                  ],columns=['Site'])

# 添加新列'Description',并将其值设置为'Good'
df.loc[:,'Description'] = 'Good'


练习案例:增加一个自增id列

import pandas as pd

df = pd.DataFrame([['L123',1,2,3],
                   ['L456',4,5,6],
                   ['L437',7,8,9],
                   ['L112',10,11,12],
                   ['L211',13,14,15],
                   ['L985',16,17,18]
                  ],columns=['Material','W1|6/22','W2|6/23','W3|6/24'])

df.index = df.index + 1
df = df.reset_index()
df = df.rename(columns = {'index':'id'})

df

df(增加自增id列) 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值