Как построить два столбца фрейма данных pandas с использованием точек?


у меня есть фрейм данных pandas и я хотел бы построить значения из одного столбца по сравнению со значениями из другого столбца. К счастью, есть plot метод, связанный с фреймами данных, которые, кажется, делают то, что мне нужно:

df.plot(x='col_name_1', y='col_name_2')

к сожалению, это выглядит как среди стилей сюжета (перечислены здесь после kind параметр) точек нет. Я могу использовать линии или бары или даже плотность, но не точки. Есть ли работа вокруг, которая может помочь решить эту проблему проблема.

2 55

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 >.