首页 / PYTHON / python-一组循环的熊猫
python-一组循环的熊猫
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python-一组循环的熊猫,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2241字,纯文字阅读大概需要4分钟。
内容图文
![python-一组循环的熊猫](/upload/InfoBanner/zyjiaocheng/679/17cc6313e0c84f1497c53d88d6697015.jpg)
我有一个具有类别字段“城市”和2个指标(年龄和体重)的数据集.我想使用循环为每个城市绘制散点图.但是,我很难在单个语句中组合所需的分组依据和循环.如果仅使用for循环,则最终会得到每个记录的图表,如果我按组进行分组,则会得到正确数量的图表,但没有值.
这是我的代码,仅在与我的组一起使用for循环时被注释掉了:
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
d = { 'City': pd.Series(['London','New York', 'New York', 'London', 'Paris',
'Paris','New York', 'New York', 'London','Paris']),
'Age' : pd.Series([36., 42., 6., 66., 38.,18.,22.,43.,34.,54]),
'Weight': pd.Series([225,454,345,355,234,198,400, 256,323,310])
}
df = pd.DataFrame(d)
#for C in df.groupby('City'):
for C in df.City:
fig = plt.figure(figsize=(5, 4))
# Create an Axes object.
ax = fig.add_subplot(1,1,1) # one row, one column, first plot
# Plot the data.
ax.scatter(df.Age,df.Weight, df.City == C, color="red", marker="^")
解决方法:
不要多次调用plt.figure,因为每次调用都会创建一个新图形(大致来说是窗口).
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
d = {'City': ['London', 'New York', 'New York', 'London', 'Paris',
'Paris', 'New York', 'New York', 'London', 'Paris'],
'Age': [36., 42., 6., 66., 38., 18., 22., 43., 34., 54],
'Weight': [225, 454, 345, 355, 234, 198, 400, 256, 323, 310]}
df = pd.DataFrame(d)
fig, ax = plt.subplots(figsize=(5, 4)) # 1
df.groupby(['City']).plot(kind='scatter', x='Age', y='Weight',
ax=ax, # 2
color=['red', 'blue', 'green'])
plt.show()
> plt.subplots返回图形,无花果和坐标轴,ax.
>如果将ax = ax传递给Panda的plot方法,则所有图都将
在同一轴上
为每个城市制作一个单独的数字:
import pandas as pd
import numpy as np
import matplotlib.pylab as plt
d = {'City': ['London', 'New York', 'New York', 'London', 'Paris',
'Paris', 'New York', 'New York', 'London', 'Paris'],
'Age': [36., 42., 6., 66., 38., 18., 22., 43., 34., 54],
'Weight': [225, 454, 345, 355, 234, 198, 400, 256, 323, 310]}
df = pd.DataFrame(d)
groups = df.groupby(['City'])
for city, grp in groups: # 1
fig, ax = plt.subplots(figsize=(5, 4))
grp.plot(kind='scatter', x='Age', y='Weight', # 2
ax=ax)
plt.show()
>也许这就是您所缺少的.当您遍历一个
GroupBy对象,它返回一个2元组:groupby键和
子DataFrame.
>在循环中使用grp(而不是df)作为子DataFrame.
内容总结
以上是互联网集市为您收集整理的python-一组循环的熊猫全部内容,希望文章能够帮你解决python-一组循环的熊猫所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。