【发布时间】:2021-11-24 11:51:40
【问题描述】:
我有一个关于 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 的模块不使用类似的语法。我错过了什么吗?
【问题讨论】:
-
您正在比较不同的操作。您所指的熊猫操作使事情变得明确; numpy 中的第一个操作是索引,这是有道理的。如果要进行比较,请寻找类似的过程进行比较
-
你说得对,我现在明白了一点,谢谢
-
您也可以将就地索引分配与列表一起使用;和
dict。但是大多数 numpy 函数和方法都会返回新数组。np.concatenate([arr1, arr2]);arr.reshape(3,4)。就地更改 pandas 列的值,添加列df['newcol'] = np.arrange(10)也是如此。
标签: python pandas numpy syntax python-module