我正在为一些机器学习构建一个熊猫数据框。X Dataframe 有一个日期索引,由我的各种数据文件中的所有现有日期组成:
all_index=set()
for table in data:
for date in table.index.values:
all_index.add(date)
然后我构建我的数据变量,我想合并我拥有的每个数据:
temp2= np.empty((len(all_index),1,))
temp2[:]=np.nan
X=pd.DataFrame(temp2, all_index)
而且,当然,现在我想用数据填充它(数据是 1 个 DF,稍后,它将是一个 DF 列表):
for i in X.index.values:
for j in data[0].index.values:
if(j==i):
X.at[i, 0] = data['Column Name'][i]
错误是:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-73-73562c8b1e98> in <module>
8 #X[i]=data[0]['BCH-USD'][i]
9 elem = data[0]['BCH-USD'][str(i)]
---> 10 X.at[i, 0] = elem
11 #print(X[0][i])
12 print(data[0]['BCH-USD'][i])
~\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\indexing.py in __setitem__(self, key, value)
2157 key = list(self._convert_key(key, is_setter=True))
2158 key.append(value)
-> 2159 self.obj._set_value(*key, takeable=self._takeable)
2160
2161
~\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\frame.py in _set_value(self, index, col, value, takeable)
2580 series = self._get_item_cache(col)
2581 engine = self.index._engine
-> 2582 engine.set_value(series._values, index, value)
2583 return self
2584 except (KeyError, TypeError):
我试过的:
这个错误很奇怪,因为 set_value 已被弃用。并且文档页面说使用 .at。.at 使用 set_value ...
我还尝试查看变量的类型 type(data['Column Name'][i]) -> 它是 float64
我也尝试使用 pd.is_numeric 进行转换。同样的错误
我尝试在循环中打印出 data['Column Name'][i] ,没有错误。如果我尝试打印出 X,也没有错误。
如果我尝试不使用循环: X.at['2018-11-24', 0] = data['Column Name'][0] 它有效......
我希望得到:
一个 DataFrame 将我的多个 csv 文件中的所有日期作为索引,作为我的 csv 文件中的值(如果可用)的列。如果不可用,就 nan。
红糖糍粑
相关分类