熊猫DF柱系列

时间:2020-05-19 05:57:22

标签: pandas dataframe

具有数据框,并且我对其列进行了如下操作

df1=sample_data.sort_values("Population")
df2=df1[(df1.Population > 500000) & (df1.Population < 1000000)]
df3=df2["Avg check"]*df2["Avg Daily Rides Last Week"]/df2["CAC"]
df4=df2["Avg check"]*df2["Avg Daily Rides Last Week"]
([[df3],[df4]])

如果我理解正确,那么df3和df4现在仅是系列,而不是数据帧。应该有一种使用这些系列创建新数据框并绘制散点图的方法。请指教。谢谢。

想为每个对象添加注释并解决问题

df3=df2["Avg check"]*df2["Avg Daily Rides Last Week"]/df2["CAC"]
df4=df2["Avg check"]*df2["Avg Daily Rides Last Week"]
df5=df2["Population"]
df6=df2["city_id"]
sct=plt.scatter(df5,df4,c=df3, cmap="viridis")
plt.xlabel("Population")
plt.ylabel("Avg check x Avg Daily Rides")
for i, txt in enumerate(df6):
plt.annotate(txt,(df4[i],df5[i]))
plt.colorbar()
plt.show()

2 个答案:

答案 0 :(得分:1)

我认为您可以将Series都传递给matplotlib.pyplot.scatter

import matplotlib.pyplot as plt
sc = plt.scatter(df3, df4)

编辑:交换df5df4,并使用Series.iat进行位置选择:

for i, txt in enumerate(df6):
    plt.annotate(txt,(df5.iat[i],df4.iat[i]))

答案 1 :(得分:0)

您可以从Series创建一个DataFrame。 Here是如何做到的。只需将两个系列添加到字典中

author = ['Jitender', 'Purnima', 'Arpit', 'Jyoti'] 
article = [210, 211, 114, 178] 

auth_series = pd.Series(author) 
article_series = pd.Series(article) 

frame = { 'Author': auth_series, 'Article': article_series } 

,然后从该字典创建一个DataFrame:

result = pd.DataFrame(frame) 

代码来自geeksforgeeks.org