python - Pandas 和 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 的模块不使用类似的语法。我错过了什么吗?
解决方案
它确实有效,但这不是熊猫的默认设置。你必须这样做:
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
推荐阅读
- python - 从单个属性中提取多个文本数据
- apache-spark - Spark - 如何重命名orc文件(不是表)中的列
- c++ - 将指针传递给导致第二次调用使程序崩溃的函数
- python - TypeError:无法根据规则“安全”使用 hvPlot 和 datashade 将数组数据从 dtype('int64') 转换为 dtype('int32')
- javascript - 每次进入屏幕时重新获取数据
- c# - 无法使用 JWT 方法(C#)生成新令牌
- dataframe - 使用分区批处理过程生成多个列,无需洗牌或自定义连接逻辑
- java - 如何将当前日期时间小时秒保存为字符串,以便我可以一次又一次地重复使用它
- git - Git分支-b“分支名称”从master创建?
- revit-api - Revit API - 如何在调用 PostCommand 后返回“正常代码”