Python 基于dataframe中的列为一个月的数据设置特定值
我有一个数据框架,由跨越多个列的每日数据组成Python 基于dataframe中的列为一个月的数据设置特定值,python,pandas,datetime,setvalue,Python,Pandas,Datetime,Setvalue,我有一个数据框架,由跨越多个列的每日数据组成 A B C D 01/01/2020 12 3 2 1 02/01/2020 8 14 5 1 03/01/2020 45 4 1 3 . . . . 31/12/2021 5 1 5 3 数据是自动生成的,但我希望能够按月或按日期覆盖数据 我知道这样做可能会重置一个值,但是否有任何方法可以按月或在两个特定日期之间批量重置 df.set_value('C', 'x', 10) 非常感谢任何帮助 首先创建Da
A B C D
01/01/2020 12 3 2 1
02/01/2020 8 14 5 1
03/01/2020 45 4 1 3
.
.
.
.
31/12/2021 5 1 5 3
数据是自动生成的,但我希望能够按月或按日期覆盖数据
我知道这样做可能会重置一个值,但是否有任何方法可以按月或在两个特定日期之间批量重置
df.set_value('C', 'x', 10)
非常感谢任何帮助 首先创建
DatetimeIndex
和中的设置值,此处也用于月的设置值:
df.index = pd.to_datetime(df.index, dayfirst=True)
df.loc['2020-01-02','C'] = 100
df.loc['2020-01','B'] = 500
df.loc['2020-01-01':'2020-01-02','A'] = 0
#select multiple columns by list
df.loc['2020-01-03':'2021-12-31', ['C','D']] = 1000
print (df)
A B C D
2020-01-01 0 500 2 1
2020-01-02 0 500 100 1
2020-01-03 45 500 1000 1000
2021-12-31 5 1 1000 1000