不知道有没有人可以帮我澄清一下。
基本上,我有一个数据框,看起来像这样。
Data_Value
Month_Day
01-01 1.1
01-02 3.9
01-03 3.9
01-04 4.4
我可以用这段代码在这个数据框上生成线图
ax.plot(df.values)
我在从同一个数据框中生成散点图时遇到了一些问题 我想知道这是否可能,因为在数据框的索引列中有一个"-"。然而,我也在想,既然可以生成线图,那么也应该可以生成散点图?
如果有什么见解,非常欢迎。
当我尝试这段代码时。
df = df.reset_index()
df['Month_Day'] = pd.to_datetime(df['Month_Day'], format='%m-%d')
df.plot(type='scatter',x='Month_Day',y='Data_Value')
我得到一个错误的msg:
AttributeError: Unknown property type
我的Pandas版本: 0.19.2
不知道我是否完全理解你的问题,但如果只是创建散点图,你可以尝试重置索引,将 "Month_Date "转换为常规列,并将其转换为日期时间。我尝试了以下方法。
df.reset_index(inplace=True)
df['Month_Day'] = pd.to_datetime(df['Month_Day'], format='%m-%d')
# you can replace the year with any value, using 2020 as an example
df['Month_Day'] = [val.replace(year=2020) for val in df['Month_Day']]
print(df)
输出:
Month_Day Data_Value
0 2020-01-01 1.1
1 2020-01-02 3.9
2 2020-01-03 3.9
3 2020-01-04 4.4
然后生成一个散点图
import matplotlib.pyplot as plt
# generate the plot
plt.scatter(df['Month_Day'], df['Data_Value'])
plt.show()