Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 执行该功能的条件_Python_Python 3.x_Pandas_Lambda - Fatal编程技术网

Python 执行该功能的条件

Python 执行该功能的条件,python,python-3.x,pandas,lambda,Python,Python 3.x,Pandas,Lambda,有一个计算Y列移动平均数的函数: df['Y1'] = df.apply( lambda x: df.loc[ ( (df.X2 < x.X2) & (df.X2 >= (x.X2 + pd.DateOffset(days=-4))) & (df.X3 == x.X3) & (df.X4 == x.X4) ),

有一个计算Y列移动平均数的函数:

df['Y1'] = df.apply(
    lambda x: df.loc[
        (
            (df.X2 < x.X2)
            & (df.X2 >= (x.X2 + pd.DateOffset(days=-4)))
            & (df.X3 == x.X3)
            & (df.X4 == x.X4)
        ),
        "Y",
    ].mean(),
    axis=1,
)
df['Y1']=df.apply(
lambda x:df.loc[
(
(df.X2=(x.X2+pd.DateOffset(天数=-4)))
&(df.X3==x.X3)
&(df.X4==x.X4)
),
“Y”,
].mean(),
轴=1,
)
如何输入执行此函数的条件X5=1。 如果X5=1,则我们计算平均值,如果不是,则Y1保持为空


我将澄清,在当前行中讨论X5的值。

您可以将其包装为if-else:

lambda x: np.nan if X5 != 1 else df.loc[
    (
        (df.X2 < x.X2)
        & (df.X2 >= (x.X2 + pd.DateOffset(days=-4)))
        & (df.X3 == x.X3)
        & (df.X4 == x.X4)
    ),
    "Y",
].mean(),
lambda x:np.nan如果X5!=1其他df.loc[
(
(df.X2=(x.X2+pd.DateOffset(天数=-4)))
&(df.X3==x.X3)
&(df.X4==x.X4)
),
“Y”,
].mean(),

您可以将其包装在if-else中:

lambda x: np.nan if X5 != 1 else df.loc[
    (
        (df.X2 < x.X2)
        & (df.X2 >= (x.X2 + pd.DateOffset(days=-4)))
        & (df.X3 == x.X3)
        & (df.X4 == x.X4)
    ),
    "Y",
].mean(),
lambda x:np.nan如果X5!=1其他df.loc[
(
(df.X2=(x.X2+pd.DateOffset(天数=-4)))
&(df.X3==x.X3)
&(df.X4==x.X4)
),
“Y”,
].mean(),

如果与熊猫相关,则添加适当的标记。Y1应为what?Y列的平均值。对于每行。如果与熊猫相关,则添加适当的标记。Y1应为what?Y列的平均值。对于每行。谢谢!另一项澄清。这将使Y1=NaN,但我如何做Y1=Y1?不是空的,但等于当前值。@asymon使用
x['Y1']
而不是np.nan应该这样做谢谢!另一项澄清。这将使Y1=NaN,但我如何做Y1=Y1?不是空的,但等于当前值。@asymon使用
x['Y1']
而不是np.nan应该这样做