gpt4 book ai didi

python - pandas.DataFrame.shift() fill_value 不工作

转载 作者:太空狗 更新时间:2023-10-30 01:10:53 24 4
gpt4 key购买 nike

这听起来像是一个相当奇怪的问题,但是当我将 pandas.DataFrame.shift() 函数与 fill_value 关键字参数一起使用时,我不断得到TypeError: shift() 得到了一个意外的关键字参数“fill_value”

即使是文档中的一个简单示例也会给我这个错误:

df = pd.DataFrame({'c1': [1, 2, 3], 
'c2': [4, 5, 6],
'c3': [7, 8, 9]})

df.shift(periods=1, fill_value=0)

通常会预期

    c1    c2    c3
0 0 0 0
1 1 4 7
2 2 5 8
3 3 6 9

但它会抛出错误。有人会碰巧知道问题出在哪里吗?我在别处搜索过,但似乎没有其他人遇到过这个问题......

最佳答案

问题是在 0.24+ 中使用 pandas 时没有在 DataFrame.shift 中实现此参数.

fill_value : object, optional

The scalar value to use for newly introduced missing values. the default depends on the dtype of self. For numeric data, np.nan is used. For datetime, timedelta, or period data, etc. NaT is used. For extension dtypes, self.dtype.na_value is used.

Changed in version 0.24.0.

然后使用DataFrame.fillna :

df = df.shift(periods=1).fillna(0)

DataFrame.fillna按位置指定第一行 DataFrame.iloc如果可能的话,数据中还有另一个缺失值,必要时只替换它:

df = df.shift(periods=1)
df.iloc[0] = df.iloc[0].fillna(0)
print (df)
c1 c2 c3
0 0.0 0.0 0.0
1 1.0 4.0 7.0
2 2.0 5.0 8.0

关于python - pandas.DataFrame.shift() fill_value 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55662644/

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