Pandas

您所在的位置:网站首页 dataframe修改列类型 Pandas

Pandas

2023-09-07 04:33| 来源: 网络整理| 查看: 265

文章目录 1.构造DataFrame2.运用loc、iloc更改值3.运用条件判断更改值4.在DataFrame中添加一列

1.构造DataFrame import pandas as pd import numpy as np dates = pd.date_range('20200315', periods = 5) df = pd.DataFrame(np.arange(20).reshape((5,4)), index = dates, columns = ['A','B','C','D']) print(df) #输出 A B C D 2020-03-15 0 1 2 3 2020-03-16 4 5 6 7 2020-03-17 8 9 10 11 2020-03-18 12 13 14 15 2020-03-19 16 17 18 19 2.运用loc、iloc更改值

我们可以利用索引或者标签确定需要修改值的位置。

df.loc['20200318','C'] = 20200318 #标签索引 df.iloc[2,3] = 20200318 #数字索引 print(df) #输出 A B C D 2020-03-15 0 1 2 3 2020-03-16 4 5 6 7 2020-03-17 8 9 10 20200318 2020-03-18 12 13 20200318 15 2020-03-19 16 17 18 19 3.运用条件判断更改值

如果现在的判断条件是这样, 我们想要更改B中的数, 而更改的位置是取决于 C的. 对于C大于6的位置. 更改B在相应位置上的数为0.

df.B[df.C>6] = 0 #C字段中大于6的那些行在B字段中全都设为0 print(df) #输出 A B C D 2020-03-15 0 1 2 3 2020-03-16 4 5 6 7 2020-03-17 8 0 10 20200318 2020-03-18 12 0 20200318 15 2020-03-19 16 0 18 19 4.在DataFrame中添加一列

如果对整列做批处理, 加上一列 ‘E’, 并将 E 列全改为 NaN, 如下:

df['E'] = np.nan print(df) #输出 A B C D E 2020-03-15 0 1 2 3 NaN 2020-03-16 4 5 6 7 NaN 2020-03-17 8 9 10 11 NaN 2020-03-18 12 13 14 15 NaN 2020-03-19 16 17 18 19 NaN

用上面的方法也可以加上 Series 序列(但是长度必须对齐)。

df['F'] = pd.Series([11,22,33,44,55],index = pd.date_range('20200315',periods = 5)) print(df) #输出 A B C D E F 2020-03-15 0 1 2 3 NaN 11 2020-03-16 4 5 6 7 NaN 22 2020-03-17 8 9 10 11 NaN 33 2020-03-18 12 13 14 15 NaN 44 2020-03-19 16 17 18 19 NaN 55


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3