Как построить два столбца фрейма данных pandas с использованием точек?
у меня есть фрейм данных pandas и я хотел бы построить значения из одного столбца по сравнению со значениями из другого столбца. К счастью, есть plot
метод, связанный с фреймами данных, которые, кажется, делают то, что мне нужно:
df.plot(x='col_name_1', y='col_name_2')
к сожалению, это выглядит как среди стилей сюжета (перечислены здесь после kind
параметр) точек нет. Я могу использовать линии или бары или даже плотность, но не точки. Есть ли работа вокруг, которая может помочь решить эту проблему проблема.
2 ответа:
вы можете указать
style
построенной линии при вызовеdf.plot
:df.plot(x='col_name_1', y='col_name_2', style='o')
The
для этого (и большинства заговоров) я бы не стал полагаться на обертки панд в matplotlib. Вместо этого просто используйте matplotlib напрямую:
import matplotlib.pyplot as plt plt.scatter(df['col_name_1'], df['col_name_2']) plt.show() # Depending on whether you use IPython or interactive mode, etc.
и помните, что вы можете получить доступ к массив NumPy значений столбца с
df.col_name_1.values
например.я столкнулся с проблемой, используя это с панд по умолчанию построения в случае столбца значений меток времени с точностью до миллисекунды. При попытке преобразовать объекты в
datetime64
типа, я также обнаружил неприятную проблему: панды дает неверный результат при запросе, если значения столбца Timestamp имеют attr astype >.