繁体   English   中英

根据条件在 pandas dataframe 行之间填充多行

Fill multiple rows in between pandas dataframe rows on condition

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个如下数据集:

pd.DataFrame({'Date':['2019-01-01','2019-01-03','2019-01-01','2019-01-04','2019-01-01','2019-01-03'],'Name':['A','A','B','B','C','C'],'Open Price':[100,200,300,400,500,600],'Close Price':[200,300,400,500,600,700]})

现在我们可以看到该表中缺少几天的条目。 即 A 为 2019-01-02,B 为 2019-01-02、2019-01-03,C 为 2019-01-02。

我要做的是在 dataframe 中为这些日期添加虚拟行,

收盘价列与下一个开盘价输入相同。 而且我不在乎开盘价,它可以是 nan 或 0

预期 output

pd.DataFrame({'Date':['2019-01-01','2019-01-02','2019-01-03','2019-01-01','2019-01-02','2019-01-03','2019-01-04','2019-01-01','2019-01-02','2019-01-03'],'Name':['A','A','A','B','B','B','B','C','C','C'],'Open Price':[50,'nan',150,250,'nan','nan',350,450,'nan',550],'Close Price':[200,150,300,400,350,350,500,600,550,700]})

任何帮助,将不胜感激 !

1 个回复

您的逻辑对于应该如何插值价格是模糊的,但是为了让您开始,请考虑这一点,记住将 date 转换为 datetime dtype:

df['Date'] = pd.to_datetime(df['Date'])
df = (df.groupby('Name')
        .resample('D', on='Date')
        .mean()
        .swaplevel()
        .interpolate()
)

print(df)
                 Open Price  Close Price
Date       Name                         
2019-01-01 A     100.000000   200.000000
2019-01-02 A     150.000000   250.000000   
2019-01-03 A     200.000000   300.000000
2019-01-01 B     300.000000   400.000000
2019-01-02 B     333.333333   433.333333
2019-01-03 B     366.666667   466.666667
2019-01-04 B     400.000000   500.000000  
2019-01-01 C     500.000000   600.000000
2019-01-02 C     550.000000   650.000000
2019-01-03 C     600.000000   700.000000
1 Pandas dataframe 比较多行与特定条件

我希望我能正确解释我的问题.. 我有一个 dataframe (306x40) 多行包含某个组的数据,我需要按索引对它们进行分组,这没问题。 接下来,我需要将这些行与具有特定条件的另一行进行比较。 以这个数据为例: 因此,我需要将每个 Id 的 var1、var2、var3 与条件为 3 的行进行比 ...

2 与使用熊猫的其他数据框相比,如何填充行间距?

我想将 df1 与 df2 进行比较,只填充空白而不覆盖其他值。 我不知道如何在不覆盖或创建额外列的情况下实现这一目标。 我可以通过将 df2 转换为字典并使用 df1 映射来做到这一点吗? df1: 而且,df, df2: 我想要这样的输出: ...

3 在 pandas dataframe 条件下删除行

我想删除“aff”列中包含“True”的行。 预期结果:Wikipedia.org raw(行)被删除我的 csv: 我的代码: output 的打印给出: 输出 ["aff"] 的打印给出: ...

5 按条件删除Pandas Dataframe中的行

我有一个州和县的熊猫数据框,但有些县只是整个州。 我正在尝试逐行迭代以删除df ['STNAME'] == df ['COUNTY']的行。 我尝试使用iterrows的for循环,但它没有给我输出。 同样,我想迭代行并删除df。['STNAME'] == df ['COUNT ...

6 将Pandas DataFrame分成满足条件的行之间的部分

我有几次旅行的DataFrame看起来像这样: 如您所见,我有位置和时间记录,这些记录都属于某个行程,由行程ID标识。 我还计算了delta_t作为旅行结束之前所经过的时间。 每个行程的最后一个条目被分配为NaN作为其delta_t 。 现在,我需要确保记录的时间步长在所有数据 ...

7 计算具有条件的连续熊猫数据帧行之间的天差

我有一个数据框如下: relTweet 显示推文是否相关 (1) 或不相关 (0)。 \\n我需要找到每个公司的每个连续行之间的天数差异(GaplastRel),条件是前一天的推文应该是相关推文(即 relTweet =1 )。 例如,对于第一条记录,relTweet 应该是 0。对于第二条 ...

2020-07-29 01:11:14 1 48   pandas
8 向 pandas dataframe 添加一列,计算行值和条件

我需要通过计算列“value”中的每一行值与 num = 5 时同一列中的值之间的差异,使用相同的颜色和每个组,向 dataframe 添加一个新列(“delta”)。 结果应如下所示: 我尝试使用 pivot_table,我想这是一个开始,但我真的看不出如何进行这种条件计算。 你知道如何做到这一点 ...

10 基于多列条件过滤熊猫数据框行

我想删除仅在“价格”、“b_d100_p”和“a_d052_p”列上包含异常值的行。 为此,我选择使用基于标准偏差的条件。 这是我试过的代码。 如何保留“side”、“b_d100_v”和“a_d052_v”列的原始值? 这将允许我然后应用 'dropna()' 来实现我的目的......或 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM