【发布时间】:2021-04-24 05:01:26
【问题描述】:
我正在使用 Python。 我有一个名为 df 的数据框,它有 3 列:a、b、c。 我想做一个循环遍历所有变量并为每个变量生成一个numpy数组并削减每个变量的最后一个数字。到目前为止,我已经尝试过,但它不起作用:
df = pd.DataFrame(
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]],
columns=['a', 'b', 'c'])
variables= [a,b,c]
for x in variables:
x = np.transpose(np.matrix(df.x.to_numpy(np.float64)))
x=x[:-1]
【问题讨论】:
-
简单的
for col in df.columns: ... df[col]...怎么样? -
请注意,您正在重新分配循环变量
x,这可能不是您想要的。 -
我确实想生成 3 个变量,分别称为 a、b 和 c。这可能不是最佳的,但我有这样生成的其余代码......
-
df.to_numpy()产生一个二维数组,df.x是系列,结果是一维。为什么是np.matrix和transpose?如果要将某个数组的元素分配给 3 个变量,请使用unpacking、a,b,c = np.array([1,2,3])。
标签: python numpy loops variables slice