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