【发布时间】:2017-09-04 12:16:55
【问题描述】:
为了消除测量时的变化,我想在特定的范围内进行编译。
例如,我想将整数的±0.1范围内的列名求和,并将其分配给整数列。但是,由于形状错误,我无法替代。
我认为是转换列的类型引起的,但是我该怎么办呢?
谢谢。
import pandas as pd
import numpy as np
df = pd.DataFrame(data= np.arange(0,10000,1).reshape(100,100))
df.columns = np.arange(0,10,0.1)
print(df.head())
df.columns = df.columns.astype(float)
temp = df.columns.values
for n in np.arange(1, 9, 1):
l = n - 0.1
m = n + 0.1
calc_n = temp[np.where((temp >= l) & (temp <= m))]
calc = np.sum(df[df.columns.intersection(calc_n)], axis=1)
n_position = temp[np.where(temp == n)]
df[n_position] = calc.values
ValueError: 形状不匹配:形状 (100,) 的值数组无法广播到形状 (1,100) 的索引结果
【问题讨论】: