处理NP。

发布于 2025-01-17 23:18:57 字数 490 浏览 0 评论 0原文

我有一个变量“ date_0”,该变量对应于特定周期内的感染日期,并且我必须从上一个变量(date_0)使用日期条件(> = 33天)创建另一个变量“ date_1”。 “ date_0”和“ date_1”的格式为%y-%m-%d%h:%m:%s。 因此,基本上我应该执行这样的日期条件:

如果DF ['date_1]> = 33天,则df ['date_1] else df ['date_0']

,我这样做:

df ['date_1'] = np.Where(((df ['date_1']> = 33d),df ['date_1'],df ['date_o'])

,我也尝试:

<代码> df ['date_1'] = np.Where((DF ['date_1']。days&gt; = 33),df ['date_1'],df ['date_o'])

,我失败了请帮我吗?

I have a variable "date_0" which correspond to date of infection in a certain period, and I have to create another variable "date_1" from the previous variable (date_0) with a date condition (>= 33 days). "date_0" and "date_1" are in format %Y-%m-%d %H:%M:%S.
So basically I should do a date condition like this :

if df['date_1] >= 33 days then df['date_1] else df['date_0']

And I do this :

df['date_1']= np.where((df['date_1']>= 33d), df['date_1'],df['date_O'])

And I try also with this :

df['date_1']= np.where((df['date_1'].days>= 33), df['date_1'],df['date_O'])

But I failed can you help me please ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

只有一腔孤勇 2025-01-24 23:18:57

您可以使用相当于np.where的pandas。前任:

import pandas as pd

df = pd.DataFrame({'date_0': [pd.Timestamp('2022-01-01'), pd.Timestamp('2022-02-01')],
                   'date_1': [pd.Timestamp('2022-01-29'), pd.Timestamp('2022-03-15')]})

df['days_diff'] = (df['date_1']-df['date_0']).dt.days

# date_select:
# use date 1 if the difference is greater equal 33 days else use date 0
df['date_select'] = df['date_1'].where(df['days_diff'] >= 33, df['date_0'])
df
      date_0     date_1  days_diff date_select
0 2022-01-01 2022-01-29         28  2022-01-01
1 2022-02-01 2022-03-15         42  2022-03-15

you can use the pandas equivalent to np.where. Ex:

import pandas as pd

df = pd.DataFrame({'date_0': [pd.Timestamp('2022-01-01'), pd.Timestamp('2022-02-01')],
                   'date_1': [pd.Timestamp('2022-01-29'), pd.Timestamp('2022-03-15')]})

df['days_diff'] = (df['date_1']-df['date_0']).dt.days

# date_select:
# use date 1 if the difference is greater equal 33 days else use date 0
df['date_select'] = df['date_1'].where(df['days_diff'] >= 33, df['date_0'])
df
      date_0     date_1  days_diff date_select
0 2022-01-01 2022-01-29         28  2022-01-01
1 2022-02-01 2022-03-15         42  2022-03-15
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文