Pandas 和 numpy 之间的语法逻辑

Syntax logic between Pandas and numpy

我在 numpy 和 Pandas 之间有一个语法问题,可能还有更多 Python 个模块。要在 numpy 中有效可以这样做:

b = np.ones((5,5))
b[1:-1, 1:-1] = 0
print(b)

但是,当我想用​​ Pandas 在 Dataframe 上做一些事情时,我使用了一个变量,否则它不起作用,就像这样:

df2 = pd.concat(out, ignore_index=True, axis=1)
df2 = df2.fillna(method='ffill')

例如 df.to_csv。我不明白为什么 Python 的模块不使用类似的语法。我错过了什么吗?

它确实有效,只是它不是 pandas 的默认值。你必须这样做:

df2.fillna(method='ffill', inplace=True)

可能这不是默认设置,因为它不会像这样嵌套操作:

df2 = pd.concat(out, ignore_index=True, axis=1).fillna(method='ffill').replace(...).apply(...)

Pandas 实际上使用了 numpy 数组。你可以像这样访问它们

df.values

或这个

df["column"].values