猿问

如何将熊猫数据框绘制为散点图?我想我可能弄乱了索引,无法添加新索引?

我试图将我的步骤绘制为散点图,然后最终添加一条趋势线。我设法让它与 df.plot() 一起使用,但它是一个折线图。


以下是我尝试过的代码:


import pandas as pd

import matplotlib.pyplot as plt

import numpy as np


data_file = pd.read_csv('CSV/stepsgyro.csv')


# print(data_file.head())


# put in the correct data types

data_file = data_file.astype({"steps": int})

pd.to_datetime(data_file['date'])


# makes the date definitely the index at the bottom

data_file.set_index(['date'], inplace=True)


# sorts the data frame by the index

data_file.sort_values(by=['date'], inplace=True, ascending=True)

# data_file.columns.values[1] = 'date'


# plot the raw steps data

# data_file.plot()

plt.scatter(data_file.date, data_file.steps)

plt.title('Daily Steps')

plt.grid(alpha=0.3)

plt.show()


plt.close('all')


# plot the cumulative steps data

data_file = data_file.cumsum()

data_file.plot()

plt.title('Cumulative Daily Steps')

plt.grid(alpha=0.3)

plt.show()


plt.close('all')

这是它在我的 IDE 上的样子的屏幕截图:

哔哔one
浏览 174回答 3
3回答

Smart猫小萌

您已将索引设置为“日期”列。从那一刻起,不再有“日期”列,因此data_file.date失败。两种选择:不要设置索引。无论如何似乎不需要排序。绘制索引, plt.scatter(data_file.index, data_file.steps)

喵喵时光机

仅通过查看您的示例,我无法弄清楚为什么会出现该错误。但是,我可以提供一个快速简便的解决方案来绘制您的数据:data_file.plot(marker='.', linestyle='none')

紫衣仙女

您可以使用df.plot(kind='scatter')避免折线图。
随时随地看视频慕课网APP

相关分类

Python
我要回答