如何选择数据框中列的前 3 个值 - 熊猫

Posted

技术标签:

【中文标题】如何选择数据框中列的前 3 个值 - 熊猫【英文标题】:How to chose the first 3 values of a column in a dataframe - panda 【发布时间】:2019-01-12 03:51:24 【问题描述】:
print(first3.loc[:3, ['STNAME']])

这应该返回 first3 数据帧中 STNAME 列的前 3 个元素...但是这没有发生,我收到了一个错误。我不明白为什么。

这是我收到的错误:

文件“/Users/....”,第 1472 行,在 getitem 返回 self._getitem_tuple(key) 文件“/Users/....”,第 890 行,在 _getitem_tuple retval = getattr(retval, self. name)._getitem_axis(key, axis=i) File "/Users/....", line 1866, in _getitem_axis return self._get_slice_axis(key, axis=axis) File "/Users/....", line 1511,在 _get_slice_axis slice_obj.step,kind=self.name) 文件“/Users/....”,第 4107 行,在 slice_indexer kind=kind) 文件“/Users/....”,第 4314 行,在 slice_locs end_slice = self.get_slice_bound(end, 'right', kind) File "/Users/....", line 4244, in get_slice_bound raise err KeyError: 3

这是第一个:

            STNAME      POPTOT

191加利福尼亚15924150.0 2567个德州8269632.0 609伊利诺伊6815061.0 1861年纽约6321295.0 330佛罗里达5564635.0 99亚利桑那5173150.0 1254密歇根3863924.0 2283宾夕法尼亚3549228.0 3001华盛顿3439809.0 2079俄亥俄州3245910.0 1239个马萨诸塞3044796.0 315康涅狄格2673320.0 1214马里兰2640226.0 1805新泽西2498943.0 1776内华达2427950.0 398格鲁吉亚2417795.0 1924年北卡罗来纳2309027.0 1338明尼苏达2059617.0 1509密苏里2033597.0 2471年田纳西州1986551.0 2867弗吉尼亚1921722.0 2822犹他州1852698.0 3097威斯康星1825699.0 250科罗拉多1794424.0 712印第安纳1754727.0 2246俄勒冈1641036.0 2168俄克拉何马州1577791.0 1阿拉巴马1406269.0 558夏威夷1293120.0 905堪萨斯1220478.0 1132路易斯安那1216552.0 1011 Kentucky 1196619.0 2357新墨西哥州1185938.01682新墨西哥961357.0 324 324 324 324 324新罕布丝897934.0115 Arkansas 807152.0 805 IOWA 807090.0 564 IDAHO 719782.0 1197缅因州632728.0 328哥伦比亚区601723.0 1426密西西比州593642.0 69 69南弗吉尼亚州393551.0 2404南达科他州315244.0 2025北达科他州297947.0 2852佛蒙特州213321.0 2177777721.0 3170 3170怀俄明州213321.0

【问题讨论】:

您能发布first3 是什么以及您遇到什么错误吗? 【参考方案1】:

您可能收到错误的原因是您使用数字作为索引器,而您的索引不是数字(它们可能已标记)。

您可以通过三种不同的方式做到这一点:

loc:first3.loc[:'labeled_third_index', 'STNAME']

iloc: first3.iloc[:3, 1] #假设 1 是 'STNAME' 的索引

ix: first3.ix[:3, 'STNAME'] #depracatted

【讨论】:

感谢您的回复,当我尝试 first3 = first3['STNAME'] print(first3.iloc[:3])

以上是关于如何选择数据框中列的前 3 个值 - 熊猫的主要内容,如果未能解决你的问题,请参考以下文章

删除熊猫数据框中列的小数点

如何根据列的值对熊猫数据框中的列进行分类?

如何更改pyspark数据框中列的顺序?

如何选择数据表中列的最小值和最大值?

为排序的熊猫数据框中的每个 ID 选择特定列的第一个值

做某事。如果在熊猫数据框中列中的值等于 1