DataFrame的“增删改查”之“改”:修改DF数据帧中的某一列数据

python中我们可以用至少三种不同的方法来修改DataFrame数据中的某一列

  1. 某一列元素全部修改成同一个数值:只需要把一个常量赋值给data[‘column_name’]即可把这一列全部改成这个数。
  2. 某一列元素按照列表或者range修改为对应数值:赋值方法和第1中方法一样,等号右边是range数据类型,注意range的参数是左边闭区间右边开区间的等差数列。
  3. 某一列元素传入Series数组修改为指定值。需要先定义一个指定值和index参数的Series,而且这个index参数要和DF数据中的index一致。
    这也再次证明了其实DF数据就是Series的升级版(多维Series),每一列和index列组合就可以认为是一个Series数组(一维)。
import pandas as pd
dict_data = {
	'student':["Li Lei","Han Meimei","Tom"],
	'score'	:[95,98,92],
	'gender':['M','F','M']
}
DF_data = pd.DataFrame(dict_data,columns=['gender','student','score'],index=['a','b','c'])
print(DF_data)
DF_data['score']=95
print(DF_data)
DF_data['score']=range(82,85) #注意是半包开闭区间,大于等于82,小于85的公差为1的等差数列
print(DF_data)
score = pd.Series([93,97,83],index=['b','c','a'])
DF_data['score']=score
print(DF_data)

运行之后,我们可以得到以下结果:

  gender     student  score
a      M      Li Lei     95
b      F  Han Meimei     98
c      M         Tom     92
  gender     student  score
a      M      Li Lei     95
b      F  Han Meimei     95
c      M         Tom     95
  gender     student  score
a      M      Li Lei     82
b      F  Han Meimei     83
c      M         Tom     84
  gender     student  score
a      M      Li Lei     83
b      F  Han Meimei     93
c      M         Tom     97
[Finished in 4.8s]

运行结果和我们的预期是一致的。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值