首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >索引越界// Python、dataframe、plot

索引越界// Python、dataframe、plot
EN

Stack Overflow用户
提问于 2019-04-04 05:47:00
回答 1查看 129关注 0票数 0

我想用来自dataframe的最大值绘制该点。

代码语言:javascript
复制
import pandas as pd
import matplotlib.pyplot as plt

dane = pd.read_table('C:\\xxx.txt', names=('rok', 'kroliki', 'lisy', 'marchewki'))
df = pd.DataFrame(dane)

data = df[1:]
data=data.astype(float)

x = int(data['kroliki'].max())
y = int(data['lisy'].max())
z = int(data['marchewki'].max())

p= data['rok'].where(data['kroliki'] == x)
q = data['rok'].where(data['lisy'] == y)
r = data['rok'].where(data['marchewki'] == z)

p1 = int(p[p.notnull()])
q1 = int(q[q.notnull()])
r1 = int(r[r.notnull()])
point = pd.DataFrame({'x':[p1],'y':[q1],'z':[r1]})
point.plot((p1,x),(q1,y),(r1,z))

我有这样一个错误:

代码语言:javascript
复制
IndexError: index 1993 is out of bounds for axis 0 with size 4

有人知道这段代码出了什么问题吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-04-04 07:37:46

我认为,当您使用Pandas绘图时,它将查找其内部的索引,而不是值。

因此,在您的情况下,当您这样做时:

代码语言:javascript
复制
point.plot(p1,x)

Pandas将在x方向上查找索引1993,即在所有列中查找。换句话说,您应该有1993个列。

我尝试重现您的问题,如下所示:

代码语言:javascript
复制
import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.randint(0,100,size=(10, 4)), columns=('rok', 'kroliki', 'lisy', 'marchewki'))

data = df[1:]
data=data.astype(float)

x = int(data['kroliki'].max())
y = int(data['lisy'].max())
z = int(data['marchewki'].max())

p = data['rok'].where(data['kroliki'] == x)
q = data['rok'].where(data['lisy'] == y)
r = data['rok'].where(data['marchewki'] == z)

p1 = int(p[p.notnull()])
q1 = int(q[q.notnull()])
r1 = int(r[r.notnull()])

point = pd.DataFrame({'x':[p1],'y':[q1],'z':[r1]})
point.plot((p1,x),(q1,y),(r1,z))

我得到以下错误:

代码语言:javascript
复制
>>> AttributeError: 'tuple' object has no attribute 'lower'

当我单独运行每个点时:

代码语言:javascript
复制
>>>> IndexError: index 85 is out of bounds for axis 0 with size 3

要解决它,请执行以下操作:

代码语言:javascript
复制
import matplotlib.pyplot as plt

plt.plot((point.x, point.y, point.z), (x,y,z),'ko')

我得到了以下结果:

希望能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55504799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档