pandas的学习3-设置值
Posted simon-idea
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas的学习3-设置值相关的知识,希望对你有一定的参考价值。
import pandas as pd import numpy as np # 我们可以根据自己的需求, 用 pandas 进行更改数据里面的值, 或者加上一些空的,或者有数值的列. # 首先建立了一个 6X4 的矩阵数据。 dates = pd.date_range(‘20130101‘, periods=6) df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=[‘A‘,‘B‘,‘C‘,‘D‘]) """ A B C D 2013-01-01 0 1 2 3 2013-01-02 4 5 6 7 2013-01-03 8 9 10 11 2013-01-04 12 13 14 15 2013-01-05 16 17 18 19 2013-01-06 20 21 22 23 """ # 根据位置设置 loc 和 iloc # # 我们可以利用索引或者标签确定需要修改值的位置。 df.iloc[2,2] = 1111#利用索引(位置)修改 df.loc[‘20130101‘,‘B‘] = 2222#利用标签修改 """ A B C D 2013-01-01 0 2222 2 3 2013-01-02 4 5 6 7 2013-01-03 8 9 1111 11 2013-01-04 12 13 14 15 2013-01-05 16 17 18 19 2013-01-06 20 21 22 23 """ # 根据条件设置 boolean selecting # 如果现在的判断条件是这样, 我们想要更改B中的数, 而更改的位置是取决于 A 的. 对于A大于4的位置. 更改B在相应位置上的数为0. df.B[df.A>4] = 0 """ A B C D 2013-01-01 0 2222 2 3 2013-01-02 4 5 6 7 2013-01-03 8 0 1111 11 2013-01-04 12 0 14 15 2013-01-05 16 0 18 19 2013-01-06 20 0 22 23 """ # 按行或列设置 # 如果对整列做批处理, 加上一列 ‘F’, 并将 F 列全改为 NaN, 如下: df[‘F‘] = np.nan """ A B C D F 2013-01-01 0 2222 2 3 NaN 2013-01-02 4 5 6 7 NaN 2013-01-03 8 0 1111 11 NaN 2013-01-04 12 0 14 15 NaN 2013-01-05 16 0 18 19 NaN 2013-01-06 20 0 22 23 NaN """ # 添加数据 # 用上面的方法也可以加上 Series 序列(但是长度必须对齐)。 df[‘E‘] = pd.Series([1,2,3,4,5,6], index=pd.date_range(‘20130101‘,periods=6)) #增加了一列E """ A B C D F E 2013-01-01 0 2222 2 3 NaN 1 2013-01-02 4 5 6 7 NaN 2 2013-01-03 8 0 1111 11 NaN 3 2013-01-04 12 0 14 15 NaN 4 2013-01-05 16 0 18 19 NaN 5 2013-01-06 20 0 22 23 NaN 6 """
简单的一些赋值,增添行数据和列数据等
出处:https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/3-3-pd-assign/
以上是关于pandas的学习3-设置值的主要内容,如果未能解决你的问题,请参考以下文章
pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”
pandas 学习 第10篇:DataFrame 数据处理(应用追加截断连接合并重复值重索引重命名重置索引设置轴索引选择和过滤)