gpt4 book ai didi

python - pandas.Series/DataFrame.fillna 限制中的错误?

转载 作者:行者123 更新时间:2023-11-28 17:49:44 25 4
gpt4 key购买 nike

我一直在尝试使用带有 valuelimit 关键字的 fillna 来填充 DataFrame 和 Series。当不包括 value 时,limit 受到尊重,但一旦包括 value,限制就不再受到尊重。下面是一个使用 DataFrame 的例子:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randn(5, 3), index=['a', 'c', 'e', 'f', 'h'],columns=['one', 'two','three'])
df2 = df.reindex(['a', 'b', 'c', 'd', 'e', 'f', 'g','h','i', 'j','k'])

In [7]: df2
Out[7]:
one two three
a -0.942695 0.465658 -0.966754
b NaN NaN NaN
c -1.208036 0.287274 -1.116466
d NaN NaN NaN
e 0.041212 0.065966 -1.895570
f 0.869104 -3.481962 -0.280699
g NaN NaN NaN
h -1.151732 -0.310296 -1.701202
i NaN NaN NaN
j NaN NaN NaN
k NaN NaN NaN

In [8]: df2.fillna(method='pad', limit=1)
Out[8]:
one two three
a -0.942695 0.465658 -0.966754
b -0.942695 0.465658 -0.966754
c -1.208036 0.287274 -1.116466
d -1.208036 0.287274 -1.116466
e 0.041212 0.065966 -1.895570
f 0.869104 -3.481962 -0.280699
g 0.869104 -3.481962 -0.280699
h -1.151732 -0.310296 -1.701202
i -1.151732 -0.310296 -1.701202
j NaN NaN NaN
k NaN NaN NaN

In [9]: df2.fillna(value=999,method='pad', limit=1)
Out[9]:
one two three
a -0.942695 0.465658 -0.966754
b 999.000000 999.000000 999.000000
c -1.208036 0.287274 -1.116466
d 999.000000 999.000000 999.000000
e 0.041212 0.065966 -1.895570
f 0.869104 -3.481962 -0.280699
g 999.000000 999.000000 999.000000
h -1.151732 -0.310296 -1.701202
i 999.000000 999.000000 999.000000
j 999.000000 999.000000 999.000000
k 999.000000 999.000000 999.000000

我是不是遗漏了什么,或者这是一个错误?

干杯

编辑:在带有 numpy 1.6.1 的 python 2.7 上使用 pandas 0.8.1

最佳答案

这实际上是设计使然。 limit 关键字旨在与 method 关键字一起使用,因为您必须指定顺序(即前向填充或后向填充)而您没有具有

关于python - pandas.Series/DataFrame.fillna 限制中的错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12372899/

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