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
我在 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