Ошибка ValueError: setting an array element with a sequence
У меня есть проблема при использовании библиотек Pandas и Matlotlib
import pandas as pd
import matplotlib.pyplot as plt
dfr = pd.read_csv('./troinik2.csv', low_memory=False, delimiter=';', decimal=',')
df = pd.DataFrame({'x': dfr[['ModelingTime']],
'y': dfr[['P']]}, index=[0])
df=df.astype(float)
df.plot()
plt.show()
вот код ошибки:
TypeError: float() argument must be a string or a number, not 'tuple'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:/Users/kiber/PycharmProjects/untitled14/ppp.py", line 7, in <module>
df=df.astype(float)
File "C:\Users\kiber\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\generic.py", line 5698, in astype
new_data = self._data.astype(dtype=dtype, copy=copy, errors=errors)
File "C:\Users\kiber\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\internals\managers.py", line 582, in astype
return self.apply("astype", dtype=dtype, copy=copy, errors=errors)
File "C:\Users\kiber\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\internals\managers.py", line 442, in apply
applied = getattr(b, f)(**kwargs)
File "C:\Users\kiber\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\internals\blocks.py", line 625, in astype
values = astype_nansafe(vals1d, dtype, copy=True)
File "C:\Users\kiber\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\dtypes\cast.py", line 897, in astype_nansafe
return arr.astype(dtype, copy=True)
ValueError: setting an array element with a sequence.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Подозреваю проблема в том как вы создаете df - в качестве значений столбцов x и y вы указываете DataFrame вместо столбцов.
Попробуйте так:
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv(r"D:\download\troinik2.csv", sep=";", decimal=",", index_col=0)
df.plot()
plt.show()
