使用.at,难以理解的类型错误在Pandas DataFrame中设置值 - python

我正在为某些ML构建一个熊猫数据框。 X数据框的日期索引由我各种数据文件中的所有现有日期组成:

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):

pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.set_value()

pandas\_libs\index.pyx in pandas._libs.index.IndexEngine.set_value()

pandas/_libs/src\util.pxd in util.set_value_at()

pandas/_libs/src\util.pxd in util.set_value_at_unsafe()

ValueError: setting an array element with a sequence.

我试过了

由于不建议使用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] =数据['列名'] [0]
有用...

我希望得到:

一个DataFrame,其中所有csv文件中的所有日期都作为索引,列为csv文件中的值(如果有)。如果不可用,则为nan。

参考方案

该错误可能是由于您正在使用链索引这一事实,您应该避免这种情况。尝试使用:

for i in X.index.values:
    for j in data[0].index.values:
        if(j==i):
            X.at[i, 0] = data['Column Name'].at[i]

另外,请参阅此文档:http://pandas.pydata.org/pandas-docs/stable/indexing.html

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

Python:使用* args ** kwargs传递可选的命名变量 - python

我有一个自定义的dict类(collections.MutablMapping),实际的对象要复杂一些,但是我遇到的问题却很简单,如何将自定义参数传递给__init__ *args之外的**kwargs方法,转到dict()class TestDict(collections.MutableMapping): def __init__(self, *args…

Python-Excel导出 - python

我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…