gpt4 book ai didi

Python pandas 打印值,其中 column = X 和 row = Y

转载 作者:行者123 更新时间:2023-12-03 16:32:43 24 4
gpt4 key购买 nike

我对使用 python 和 pandas 比较陌生,我正在尝试使用 python 获取 Excel 工作表中单元格的值。更糟糕的是,我正在使用的 Excel 工作表没有正确的列名。
这是数据框的样子:

Sign       Name       2020-09-05 2020-09-06 2020-09-07
JD John Doe A A B
MP Max Power B B A
我想要做的是打印“单元格”的值,其中列标题是当前日期,符号是“MP”。
到目前为止我尝试过的是:
import pandas as pd
from datetime import datetime

time=datetime.now()
relevant_sheet = time.strftime("%B" " %y")
current_day = time.strftime("%Y-%m-%d")

excel_file = pd.ExcelFile('theexcelfile.xlsx')
df = pd.read_excel(excel_file, relevant_sheet, skiprows=[0,1,2,3]) # I don't need these
relevant_value = df.loc[df['Sign'] == "MP", df[current_day]]
这给了我 current_day 的一个关键错误:
KeyError: '2020-09-07'
要完全披露我正在使用的真实数据框的任何可能问题:如果我只是打印数据框,我会得到如下所示的列:
2020-09-01 00:00:00
这就是为什么我也尝试过:
current_day = time.strftime("%Y-%m-%d 00:00:00")
当然,我也“手动”尝试了各种日期格式,但无济于事。我完全错了吗?这是 excel 搞砸了我吗?

最佳答案

如果列名称是日期时间,请使用 Timestamp.floor 对于删除时间(将它们设置为 00:00:00 ):

current_day = pd.to_datetime('now').floor('d')
print (current_day)
2020-09-07 00:00:00

relevant_value = df.loc[df['Sign'] == "MP", current_day]

如果列名称是字符串格式的日期时间,请使用:
relevant_value = df.loc[df['Sign'] == "MP", current_day]
如果有python日期:
current_day = pd.to_datetime('now').date()
print (current_day)
2020-09-07

relevant_value = df.loc[df['Sign'] == "MP", current_day]

关于Python pandas 打印值,其中 column = X 和 row = Y,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63774674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com