Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否可以为可选择的列指定编号?_Python_Pandas_Dataframe - Fatal编程技术网

Python 是否可以为可选择的列指定编号?

Python 是否可以为可选择的列指定编号?,python,pandas,dataframe,Python,Pandas,Dataframe,我在一个名为ratings的pandas数据框中有一些数据如下所示: rating id 10063204 10073140 10077387 10091371 10124740 10136418 10146903 user_id 10003869 NaN 8.0 NaN NaN 3.0 Na

我在一个名为ratings的pandas数据框中有一些数据如下所示:

           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位,目前它们是整数(或浮点数,无论哪种方式,它们都不是字符串),但如果给定id,我无法搜索或选择它们,除非它们是字符串

使用loc/iloc不起作用,因为它们是列号

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

我必须将它们更改为字符串才能这样搜索它们吗?或者如果它们不是字符串,有没有办法找到它?我不想将它们转换为字符串,因为它们以后只能再次转换为int

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

我只是想这么做:

specificID = ratings[10146903]
但这一切又回来了

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

使用双方括号表示索引数组,例如
df[[j,j]
i和
j
可以是整数

例如:

>>> 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

您的示例没有显示任何名为99841034的列,因此这不起作用也就不足为奇了。你能展示一个简单的例子来说明这个问题吗?你有没有尝试
ratings.loc[:,10146903]
?谢谢你的关注。我在复制/粘贴我的代码。我在上面修改了它,使它看起来更符合文章中的数据。实际数据有数千行。谢谢!!这一定是写在什么地方,但我找不到它,因为我知道,这些熊猫的选择很棘手。您可以在中找到一些简单的示例。