Использование Polyfit для создания полинома 3-й степени с динамическими CSV - PullRequest
0 голосов
/ 26 июня 2018

Как выглядят данные, хотя я могу получить более трех столбцов:

TotalArea,Pressure,Intensity
12054.2,-0.067,39.579
11980.2,-0.061,41.011
11948,-0.055,42.08
11889.5,-0.04,45.732
11863.6,-0.03,50.573

Моя цель: я хотел бы взять этот файл CSV и создать многочлен, который будет соответствовать столбцу, помеченному Intensity и TotalArea.

Мой код (исключая все, что я считаю чисто декоративным):

Graph = pd.read_csv("C:Data.csv")

Pl = Graph.dropna()

Bottom = Pl["TotalArea"]
Right = Pl["Intensity"]
arr = Pl.values    


x = Bottom

y2 = Right
fig = plt.figure()
ax1 = fig.add_subplot(1, 1, 1)
xx = arr[:, [0]]
b = xx.ravel()
print(b)
yy = arr[:, [2]]
c = xx.ravel()



y3 = np.polyfit(b, c, 3)

ax2 = ax1.twinx()
ax2.plot(x, y2, color = "r", label='Intensity /Area')  


plt.show()

Моя ошибка: (связана со значениями полифитов)

Traceback (most recent call last):
  File "/mnt/WinPartition/Users/tomchi/Documents/Programming/Eclipse/PythonDevFiles/so_test.py", line 47, in <module>
    ax2.plot(x, y3)
  File "/usr/local/lib/python3.5/dist-packages/matplotlib/__init__.py", line 1855, in inner
    return func(ax, *args, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/matplotlib/axes/_axes.py", line 1527, in plot
    for line in self._get_lines(*args, **kwargs):
  File "/usr/local/lib/python3.5/dist-packages/matplotlib/axes/_base.py", line 406, in _grab_next_args
    for seg in self._plot_args(this, kwargs):
  File "/usr/local/lib/python3.5/dist-packages/matplotlib/axes/_base.py", line 383, in _plot_args
    x, y = self._xy_from_xy(x, y)
  File "/usr/local/lib/python3.5/dist-packages/matplotlib/axes/_base.py", line 242, in _xy_from_xy
    "have shapes {} and {}".format(x.shape, y.shape))
ValueError: x and y must have same first dimension, but have shapes (310,) and (2,) 

Итак, мой вопрос: что именно это означает? Это из-за панд данных? Могу ли я решить это быстро? Могу ли я чем-нибудь помочь?

Теперь я понимаю, что полифит просто дает мне коэффициенты для моего полинома

[ -2.27230868e-23   2.74362531e-19   1.00000000e+00  -1.90568829e-12]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...