Jupyter笔记本Ipython:Groupby基于按字母顺序排列的值
我第一次使用jupyter笔记本。我尝试按csv的一列进行分组,并获取值的计数。我用这个代码得到了下面的结果Jupyter笔记本Ipython:Groupby基于按字母顺序排列的值,python,pandas,jupyter-notebook,pandas-groupby,Python,Pandas,Jupyter Notebook,Pandas Groupby,我第一次使用jupyter笔记本。我尝试按csv的一列进行分组,并获取值的计数。我用这个代码得到了下面的结果 import pandas pandas.read_csv('a.csv', sep=',') df.groupby('name').name.count() name >Aa</TOPONYM> 4 >Aachen</TOPONYM> 5 >Aartselaar</TOPONYM&g
import pandas
pandas.read_csv('a.csv', sep=',')
df.groupby('name').name.count()
name
>Aa</TOPONYM> 4
>Aachen</TOPONYM> 5
>Aartselaar</TOPONYM> 1
>Abadan</TOPONYM> 1
>Abaya</TOPONYM> 1
>Abba</TOPONYM> 12
>Abbey 2
>Abbeydale</TOPONYM> 1
>Abbot</TOPONYM> 2
>Abbots 3
>Abbotsford</TOPONYM> 22
>Abbotsinch</TOPONYM> 5
>Abbotts 1
>Abel</TOPONYM> 1
>Aberchirder</TOPONYM> 2
>Aberdare</TOPONYM> 3
>Aberdeen 1
>Aberdeen</TOPONYM> 163
>Aberdeenshire</TOPONYM> 286
>Aberdour</TOPONYM> 9
>Aberfan</TOPONYM> 1
>Aberfeldy</TOPONYM> 16
>Abergavenny</TOPONYM> 4
>Aberlady 1
>Aberlady</TOPONYM> 3
>Abernethy</TOPONYM> 1
>Abertay 1
>Abertillery</TOPONYM> 6
>Abha</TOPONYM> 2
>Abidjan</TOPONYM> 10
...
>Zakho</TOPONYM> 20
>Zakopane</TOPONYM> 1
>Zambezi 2
>Zambezi</TOPONYM> 8
>Zambia</TOPONYM> 19
>Zamboanga</TOPONYM> 4
>Zandak</TOPONYM> 3
>Zanzibar</TOPONYM> 11
>Zaragosa</TOPONYM> 1
>Zaragoza</TOPONYM> 4
>Zeebrugge</TOPONYM> 28
>Zeeland</TOPONYM> 2
>Zemun</TOPONYM> 1
>Zenica</TOPONYM> 12
>Zermatt</TOPONYM> 5
>Zetland</TOPONYM> 1
>Zhizhong</TOPONYM> 1
>Zhongshan</TOPONYM> 2
>Zhuhai</TOPONYM> 1
>Zimbabwe</TOPONYM> 377
>Znamenskoye</TOPONYM> 1
>Zoetermeer</TOPONYM> 1
>Zola</TOPONYM> 1
>Zomba</TOPONYM> 3
>Zulu</TOPONYM> 1
>Zululand</TOPONYM> 2
>Zuni</TOPONYM> 2
>Zurich</TOPONYM> 86
>Zvornik</TOPONYM> 3
>Zwolle</TOPONYM> 1
Name: name, Length: 8585, dtype: int64
导入熊猫
pandas.read_csv('a.csv',sep=','
df.groupby('name').name.count()
名称
>Aa 4
>亚琛5号
>阿尔茨拉尔1号
>阿巴丹1号
>阿巴亚1号
>阿巴12
>修道院2
>阿贝代尔1号
>方丈2
>方丈3
>阿博茨福德22
>阿博特辛奇5号
>阿伯特1
>亚伯1
>阿伯奇尔德2号
>阿伯代尔3号
>香港仔1
>香港仔163
>阿伯丁郡286
>阿伯杜尔9
>阿伯凡1号
>阿伯费尔迪16
>阿伯加文尼4
>第一夫人
>阿伯拉夫人3
>阿伯内西1号
>阿伯泰1号
>阿伯蒂勒里6号
>Abha 2
>阿比让10
...
>扎胡20
>扎科帕内1号
>赞比西2号
>赞比西8
>赞比亚19
>三宝颜4号
>赞达克3
>桑给巴尔11
>萨拉戈萨1号
>萨拉戈萨4
>泽布鲁格28
>泽兰2号
>泽蒙1号
>泽尼卡12号
>泽马特5号
>泽特兰1号
>志中1号
>中山2号
>珠海1
>津巴布韦377
>Znamenskoye 1
>佐特米尔1号
>左拉1
>宗巴3号
>祖鲁1号
>祖鲁兰2号
>祖尼2号
>苏黎世86
>兹沃尼克3号
>Zwolle 1
名称:名称,长度:8585,数据类型:int64
是否可以一个字母一个字母地获取计数,首先我应该用字母a运行命令,它应该用a给出所有值,然后是b,依此类推。或者,如果有可能获得跳过100个值的值
我的真实数据如下所示:
<TOPONYM geonameid="2657540" lat="51.24827" lon="-0.76389" >Aldershot</TOPONYM>
<TOPONYM geonameid="3037854" lat="49.9" lon="2.3" >Amiens</TOPONYM>
<TOPONYM geonameid="6216857" lat="-43.59832" lon="171.55011" >Alaska</TOPONYM>
<TOPONYM geonameid="3037854" lat="49.9" lon="2.3" >Amiens</TOPONYM>
<TOPONYM geonameid="2759794" lat="52.37403" lon="4.88969" >Amsterdam</TOPONYM>
<TOPONYM geonameid="7216668" lat="28.0106" lon="-82.1184" >Alabama</TOPONYM>
<TOPONYM geonameid="5884078" lat="48.98339" lon="-73.34907" >Ally</TOPONYM>
<TOPONYM geonameid="2507480" lat="36.7525" lon="3.04197" >Algiers</TOPONYM>
<TOPONYM geonameid="2759794" lat="52.37403" lon="4.88969" >Amsterdam</TOPONYM>
<TOPONYM geonameid="2759794" lat="52.37403" lon="4.88969" >Amsterdam</TOPONYM>
Aldershot
亚眠
阿拉斯加州
亚眠
阿姆斯特丹
阿拉巴马州
盟友
阿尔及尔
阿姆斯特丹
阿姆斯特丹
您可以使用选择首字母bystr[1]
然后使用:
第二个字母表示的其他解决方案:
a = df['name'].groupby(df['name'].str[0]).count().reset_index(name='count')
“SeriesGroupBy”对象没有属性“counts”。这是我收到的错误,我添加了解决方案,而不是
df.groupby('name').name.count()
,所以请尝试删除它。我运行了此操作,它既没有给出错误,也没有给出任何结果。第一个表示没有数据,第二个需要df=df[df['name'].str.contains('Amsterdam',na=False)]
typo,需要pandas.set\u选项
a = df['name'].groupby(df['name'].str[0]).count().reset_index(name='count')
a = df['name'].groupby(df['name'].str[0]).size().reset_index(name='count')