我有一个包含以下列的数据框:
df = pd.read_csv('edtech.csv')
print(df.head())
Unnamed: 0 Title Date Country \
0 3 Apple acquires edtech company LearnSprout 15-01-16 US
1 9 LearnLaunch Accelerator launches new program 15-01-16 US
2 15 Flex Class raises financing 15-01-16 India
3 16 Grovo raises Series C financing 15-01-16 US
4 17 Myly raises seed financing 15-01-16 India
Segment
0 Tools for Educators
1 Accelerators and Incubators
2 Adult and Continuing Education
3 Platforms and LMS
4 Mobile Apps
>>>
现在,我想通过在一个轴上映射“Country”而在另一个轴上映射“Segment”来创建散点图。例如。对于美国和“教育工具”,图表上会有一个点。
如何转换此数据框,以便我有数字,我可以将其渲染到散点图中?我可以通过计数得到Tableau中的图表,但不知道它背后的确切工作。
如果有人能帮助我,我将不胜感激。 TIA
答案 0 :(得分:1)
我不知道是否存在使用两个非数字分类变量创建散点图的可能性,最接近你想要的东西是使用groupby
创建计数,重塑数据使用pivot
,使用heatmap
制作seaborn
:
import pandas as pd
import seaborn as sns
df = pd.read_csv('edtech.csv')
dd = df[['Country','Segment','Title']]
gg = dd.groupby(['Country','Segment'],as_index=False).count().rename(columns={"Title":"Number"})
gp = gg.pivot(columns="Segment",index="Country",values="Number").fillna(0.0)
sns.heatmap(gp,cbar=False)