【发布时间】:2020-12-24 17:23:30
【问题描述】:
谁能帮帮我,我一直在尝试根据条件连接数字和值,但仍然出错。
这是我可以从谷歌表格创建的文档示例。 https://docs.google.com/spreadsheets/d/1lESXb_DBcoH9y0UVNokB9HCKjsgBdQHlyHX5je78yR0/edit#gid=0
这是我之前的代码
conditions = [
(df['hour_generated'] == '8'),
(df['hour_generated'] == '12'),
(df['hour_generated'] == '17')
]
values = [[df_presto.segment_name + df_presto.date_generated-1 + 17].astype(str).str[-2:]
, [df_presto.segment_name + df_presto.date_generated-1 + '18'].astype(str).str[-2:]
, [df_presto.segment_name + df_presto.date_generated-1 + '12'].astype(str).str[-2:]
]
谢谢,真的很感激
【问题讨论】:
-
你能澄清一下你想在这里做什么吗?您正在引用 df 和 df_presto。您附加的电子表格没有 hour_generated 列。请澄清一下,有人可以帮助您。
-
您好,感谢您的评论,请忽略df_presto,请假设所有使用df,
-
我想要做的是获得像我在谷歌表中得到的确切值
-
目前还不是很清楚你在这里试图用条件和值做什么。无论哪种方式,可能有以下帮助之一:
str(datetime.strptime(df.date[1],'%d-%b-%y')- timedelta(days=1))将使您的日期列返回一天并创建一个字符串(不要忘记 import datetime)您还有顺便说一句,第一行中的 17 与其他行不同。 -
基本上我想做的是,如果生成的小时 = 8 然后 concat (segment_name + date_generate-1 + 17) 注释 date_generate -1 是 date_generate 17 的上一个日期,基本上是数字