使用 Python 用户输入更新值
Updating values using Python user input
我有一个数据集,每当更新 'Update' 列中的日期值时,另一个
列也将更新。逻辑是:
Date1 is 3 months from Date2
Date2 is 1 month from Date3
and Update is 1 month from Date3
唯一发生变化的数据是日期,它实际上是根据用户输入而改变的。
数据
Date1 Date2 Date3 Update
1/1/2021 4/1/2021 5/1/2021 6/1/2021
5 2 1 1
想要
输入提示会询问用户他们希望输入哪个日期值。
用户输入日期“8/1/2021”,这会更新剩余的列日期值。
Date1 Date2 Date3 Update
3/1/2021 6/1/2021 7/1/2021 8/1/2021
5 2 1 1
正在做
我相信我可以结合使用函数和用户提示来解决这个问题。
#take input
datevalue = input("Enter date value: ")
print(datevalue)
#use input variable in function or script to create date update
s = df['Update'].str.replace(r'(\S+) (\S+)', r'')
df['Update'] = (pd.PeriodIndex(s, freq='D') + 3).strftime('D%q %Y')
我正在寻找 一些关于如何最好地解决这个问题的起点建议或好的 foundation/documentation。我还在研究。任何建议表示赞赏。
您的数据格式有点乱,但这应该适合您:
datevalue = pd.to_datetime(input("Enter date value: "))
df = df.T
df[1] = df[1].astype(int)
df.loc['Update', 1] = 0
df[0] = df[1].apply(lambda x: datevalue - pd.DateOffset(months=x))
df = df.T
输出:
>>> df
Date1 Date2 Date3 Update
0 2021-03-01 00:00:00 2021-06-01 00:00:00 2021-07-01 00:00:00 2021-08-01 00:00:00
1 5 2 1 0
我有一个数据集,每当更新 'Update' 列中的日期值时,另一个 列也将更新。逻辑是:
Date1 is 3 months from Date2
Date2 is 1 month from Date3
and Update is 1 month from Date3
唯一发生变化的数据是日期,它实际上是根据用户输入而改变的。
数据
Date1 Date2 Date3 Update
1/1/2021 4/1/2021 5/1/2021 6/1/2021
5 2 1 1
想要
输入提示会询问用户他们希望输入哪个日期值。 用户输入日期“8/1/2021”,这会更新剩余的列日期值。
Date1 Date2 Date3 Update
3/1/2021 6/1/2021 7/1/2021 8/1/2021
5 2 1 1
正在做
我相信我可以结合使用函数和用户提示来解决这个问题。
#take input
datevalue = input("Enter date value: ")
print(datevalue)
#use input variable in function or script to create date update
s = df['Update'].str.replace(r'(\S+) (\S+)', r'')
df['Update'] = (pd.PeriodIndex(s, freq='D') + 3).strftime('D%q %Y')
我正在寻找 一些关于如何最好地解决这个问题的起点建议或好的 foundation/documentation。我还在研究。任何建议表示赞赏。
您的数据格式有点乱,但这应该适合您:
datevalue = pd.to_datetime(input("Enter date value: "))
df = df.T
df[1] = df[1].astype(int)
df.loc['Update', 1] = 0
df[0] = df[1].apply(lambda x: datevalue - pd.DateOffset(months=x))
df = df.T
输出:
>>> df
Date1 Date2 Date3 Update
0 2021-03-01 00:00:00 2021-06-01 00:00:00 2021-07-01 00:00:00 2021-08-01 00:00:00
1 5 2 1 0