我目前是一个Python自学初学者。在
for index, row in df_price.iterrows():
prod_weight = prod_weight = prod_data.loc[prod_data['sku'] == row['sku']]['weight'].item
----------结果-----------------------------------------
^{pr2}$我想要的结果是:
1.0
0.2
0.1
0.1
0.1
0.1
0.1
...
0.5
0.6
0.3
所以,我修改了代码如下。在
prod_weight = prod_data.loc[prod_data['sku'] == row['sku']]['weight'].item()
-----------结果--------------------------------
1.0
0.2
0.1
0.1
0.1
0.1
0.1
...
0.5
0.6
0.3
Traceback (most recent call last): File "D:/python_project/price_reviser/price_reviser.py", line 58, in prod_weight = prod_data.loc[prod_data['sku'] == row['sku']]['weight'].item() File "C:\Users\tlsdy\AppData\Local\Programs\Python\Python36\lib\site-packages\pandas\core\base.py", line 719, in item return self.values.item() ValueError: can only convert an array of size 1 to a Python scalar
所以我再次修改了代码,如下所示。在
prod_weight = prod_data.loc[prod_data['sku'] == row['sku']]['weight'].values
-------------result--------------------------------
[1.0]
[0.2]
[0.1]
[0.1]
[0.1]
[0.1]
[0.1]
...
[0.5]
[0.6]
[0.3]
所以我再次修改了代码,如下所示。在
prod_weight = re.sub('\[|''\]|''\'|', '', str(prod_data.loc[prod_data['sku'] == row['sku']]['weight'].values))
-----------结果-------
1.
0.2
0.1
0.1
0.1
0.1
0.1
...
0.5
0.6
0.3
但是
1.0 --> 1.
2.0 --> 2.
如何才能正确提取? 如何才能正确提取? 如何才能正确提取? 如何才能正确提取? 如何才能正确提取?在
试试这个。在
错误
ValueError: can only convert an array of size 1 to a Python scalar
是因为.item()只对series/dataframe数据类型有效。如果你想做什么标量.item()它将抛出此错误相关问题 更多 >
编程相关推荐