三、Pandas——设置值

 

 

import pandas as pd
import numpy as np

dates = pd.date_range("20190101", periods=6)
df = pd.DataFrame(np.arange(24).reshape((6, 4)),
                  index=dates, columns=["A", "B", "C", "D"])
print(df)
#              A   B   C   D
# 2019-01-01   0   1   2   3
# 2019-01-02   4   5   6   7
# 2019-01-03   8   9  10  11
# 2019-01-04  12  13  14  15
# 2019-01-05  16  17  18  19
# 2019-01-06  20  21  22  23
print("============根据索引修改指定的某个值==============")
df.iloc[2,2] = 1111
print(df)
#              A   B     C   D
# 2019-01-01   0   1     2   3
# 2019-01-02   4   5     6   7
# 2019-01-03   8   9  1111  11
# 2019-01-04  12  13    14  15
# 2019-01-05  16  17    18  19
# 2019-01-06  20  21    22  23
print("============根据行列 名 修改指定的某个值==============")
df.loc['20190101', 'B'] = 2222
print(df)
#              A     B     C   D
# 2019-01-01   0  2222     2   3
# 2019-01-02   4     5     6   7
# 2019-01-03   8     9  1111  11
# 2019-01-04  12    13    14  15
# 2019-01-05  16    17    18  19
# 2019-01-06  20    21    22  23
print("============根据指定的行条件修改值=============")
# df 上 A 列所有上大于 4的行 的值均赋值成 0=
df[df.A > 4] = 000
print(df)
#             A     B  C  D
# 2019-01-01  0  2222  2  3
# 2019-01-02  4     5  6  7
# 2019-01-03  0     0  0  0
# 2019-01-04  0     0  0  0
# 2019-01-05  0     0  0  0
# 2019-01-06  0     0  0  0
print("============修改指定的 行列 条件修改值==============")
# df 上 A 列所有上等于 0 的所有行,并且 B列上的值均赋值成 3333
df.B[df.A == 0] = 3333
print(df)
#             A     B  C  D
# 2019-01-01  0  3333  2  3
# 2019-01-02  4     5  6  7
# 2019-01-03  0  3333  0  0
# 2019-01-04  0  3333  0  0
# 2019-01-05  0  3333  0  0
# 2019-01-06  0  3333  0  0
print("*****************给 Dataframe 添加列**********************")
print("=========添加一列=========")
df['F'] = np.nan
print(df)
#             A     B  C  D   F
# 2019-01-01  0  3333  2  3 NaN
# 2019-01-02  4     5  6  7 NaN
# 2019-01-03  0  3333  0  0 NaN
# 2019-01-04  0  3333  0  0 NaN
# 2019-01-05  0  3333  0  0 NaN
# 2019-01-06  0  3333  0  0 NaN
print("=========使用Series 添加一列=========")
df['E'] = pd.Series([1, 2, 3, 4, 5, 6],index = pd.date_range('20190101',periods=6))
print(df)
#             A     B  C  D  F  E
# 2019-01-01  0  3333  2  3  1  1
# 2019-01-02  4     5  6  7  1  2
# 2019-01-03  0  3333  0  0  1  3
# 2019-01-04  0  3333  0  0  1  4
# 2019-01-05  0  3333  0  0  1  5
# 2019-01-06  0  3333  0  0  1  6

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值