gpt4 book ai didi

python - 如何在 Pandas 中进行复杂的选择?

转载 作者:行者123 更新时间:2023-11-28 20:56:19 24 4
gpt4 key购买 nike

我有一个像下面这样的 df:

President   Start Date  End Date
B Clinton 1992-01-01 1999-12-31
G Bush 2000-01-01 2007-12-31
B Obama 2008-01-01 2015-12-31
D Trump 2016-01-01 2019-12-31 # not too far away!!

我想创建另一个 df,像这样

timestamp   President
1992-01-01 B Clinton
1992-01-02 B Clinton
...
2000-01-01 G Bush
...

基本上我想创建一个数据帧,其索引是时间戳,然后根据另一个 df 的两列上的条件选择其内容。

我觉得 pandas 有一种方法可以做到这一点,但我不确定如何做。我尝试使用 np.piecewise 但似乎生成条件对我来说非常困难。我怎么能这样做?

最佳答案

这是另一个 unnesting问题

df['New']=[pd.date_range(x,y).tolist() for x , y in zip (df.StartDate,df.EndDate)]

unnesting(df,['New'])

仅供引用,我已将函数粘贴到此处

def unnesting(df, explode):
idx=df.index.repeat(df[explode[0]].str.len())
df1=pd.concat([pd.DataFrame({x:np.concatenate(df[x].values)} )for x in explode],axis=1)
df1.index=idx
return df1.join(df.drop(explode,1),how='left')

关于python - 如何在 Pandas 中进行复杂的选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54832721/

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