Pandas--DataFrame修改值

pandas要修改值先需要了解DataFrame的一些知识

此处参照的是pandas的官方文档

When setting values in a pandas object, care must be taken to avoid what is calledchained indexing. Here is an example.

要修改pandas--DataFrame中的值要注意避免在链式索引上得到的DataFrame的值

这里创建了一个DataFrame

dfmi = pd.DataFrame([list('abcd'),list('efgh'),list('ijkl'),list('mnop')],
                    columns=pd.MultiIndex.from_product([['one','two'],
                                                        ['first','second']]))


在列索引运用的层次索引创建了一个层次索引 

通过直接访问可以得到第一层索引['one']下的DataFrame的值,相当于一个单独索引的子表

dfmi['one']

dfmi['one']['second']

dfmi.loc[:,('one','first')]

dfmi.iloc[:,1]

对比iloc与loc的选择,通过直接标签访问的情况有所不同。通过标签的访问是一个序列性质的访问顺序,先从DataFrame选择出‘one'然后再在'one'中选择出'first'。将('one','first')元组作为传入,只调用了__getitem__一次,速度更快。


所以在修改值时避免这种线性调用


而选择下面这种方式


  • 15
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值