python - 按索引(列)号选择 Pandas 数据框中的列

标签 python r pandas dataframe

<分区>

到目前为止,我主要是 R 用户,现在我正在尝试更好地使用 Python,所以请记住这一点,因为我可能不会以 Python 的方式思考......

无论如何,我想按列位置对 pandas 数据框进行子集化,例如,我会选择前 2 列、第 4 列,然后是最后两列。

我使用的代码如下:

df01 = pd.DataFrame(np.random.randint(low=0, high=10, size=(10, 10)),
                columns=['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i','j'])
df01.iloc[:,list(range(0,2)) + list([3]) + list(range(-3,-1))]

我实际上是通过创建 3 个包含我想要的列的列表来进行子集化的,但我认为必须有更好的方法来执行此操作,因为这在我看来太麻烦了。在 R 中我可以做一个简单的:

df01[c(1:2,4,9:10)]

同样,这可能只是它的方式,但考虑到我作为 python“新手”的身份,我很想知道是否有更好更简洁的方式。

谢谢,

最佳答案

请记住,Python 是零索引的。这里有十列,但最大索引为九。您可以在 pandas 中执行以下操作:

df01.iloc[:, [0,1,3,8,9]]

   a  b  d  i  j
0  6  0  9  9  0
1  7  9  9  4  4
2  1  3  4  0  4
3  4  6  1  7  0
4  4  6  3  1  2
5  5  6  2  9  1
6  0  6  6  6  2
7  8  2  0  5  5
8  4  7  5  8  4
9  2  3  6  2  9

关于python - 按索引(列)号选择 Pandas 数据框中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53095216/

相关文章:

python : Pandas Sum with more than one condition

python - 多个列表中每个元素的平均值 - Python

python - Pandas 从循环创建数据框

r - 使用read_html在R中读取时处理404和其他错误URL

python - 如何让 pandas get_dummies 发出 N-1 个变量以避免共线性?

python - 将行分配给其他行

没有isinstance的列表列表上的python递归(不同)

python - 从元组列表中提取不同的值

css - 如何更改 R 格式表中的字体系列?

r - 网络抓取 RStudio 中 VIN 号码的品牌/型号/年份