数据框中是否有可供选择的列的编号?

2024-04-26 11:14:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在熊猫数据框中有一些类似的数据,叫做评级:

           rating                                                        
id       10063204 10073140 10077387 10091371 10124740 10136418 10146903
user_id
10003869      NaN      8.0      NaN      NaN      3.0      NaN      NaN
10022889      NaN      NaN      1.0      NaN      NaN      NaN      NaN

行的用户id、列的id和等级作为值。 我在网上查遍了,找不到答案:

我使用的列是数字,8位数字,目前它们是int(或float,无论哪种方式它们都不是字符串),但是如果给定id,我就不能搜索或选择它们,除非它们是字符串。你知道吗

使用loc/iloc不起作用,因为它们是列号。你知道吗

例如,假设我有id:10146903(这里的最后一列,但真正的数据集有数千列,所以我不知道它只是给定了这个id的列号),但是我有数千列,我想为那个特定id提取列

我要把它们改成字符串来搜索吗?或者如果它们不是弦,有没有办法找到它?我不想把它们转换成字符串,因为它们以后只能变成int了。你知道吗

我想我可以使用这些数字作为列的索引,但似乎只能在行上这样做。你知道吗

我只是想这么做:

specificID = ratings[10146903]

但这只是回报

KeyError: 'the label [10146903] is not in the [index]'

Tags: the数据字符串答案用户id方式数字
1条回答
网友
1楼 · 发布于 2024-04-26 11:14:16

使用双方括号表示索引数组,例如df[[j,j]],则ij可以是整数。你知道吗

示例:

>>> np.random.seed(0)
>>> df = pd.DataFrame(np.random.randn(8, 4),  columns=[1234, 56, 7, 890])
>>> df
       1234      56        7         890 
0  1.764052  0.400157  0.978738  2.240893
1  1.867558 -0.977278  0.950088 -0.151357
2 -0.103219  0.410599  0.144044  1.454274
3  0.761038  0.121675  0.443863  0.333674
4  1.494079 -0.205158  0.313068 -0.854096
5 -2.552990  0.653619  0.864436 -0.742165
6  2.269755 -1.454366  0.045759 -0.187184
7  1.532779  1.469359  0.154947  0.378163
>>> df[[56]]
         56
0  0.400157
1 -0.977278
2  0.410599
3  0.121675
4 -0.205158
5  0.653619
6 -1.454366
7  1.469359

相关问题 更多 >