在 Pandas Dataframe 中选择多列

Manav Narula 2023年1月30日
  1. 使用 __getitem__ 语法([])选择多列
  2. 在 Pandas 中使用 iloc()loc() 方法选择多列
在 Pandas Dataframe 中选择多列

在从 Pandas DataFrame 中提取多列数据时,我们可能会遇到一些问题,这主要是因为他们把 Dataframe 当作一个二维数组。要从 DataFrame 中选择多列数据,我们可以使用基本的索引方法,将列名列表传递给 __getitem__ 语法([]),或者使用 Pandas 库提供的 iloc()loc() 方法。在本教程中,我们将从以下 DataFrame 中选择多列。

示例 DataFrame:

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])

print(df)

输出:

          a         b         c         d
0  0.255086  0.282203  0.342223  0.263599
1  0.744271  0.591687  0.861554  0.871859
2  0.420066  0.713664  0.770193  0.207427
3  0.014447  0.352515  0.535801  0.119759

使用 __getitem__ 语法([])选择多列

通过将要提取的列名存储在一个列表中,然后传递给 [],我们可以从 DataFrame 中选择多个列。下面的代码将解释我们如何从之前显示的 DataFrame 中选择列 ac

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])

print(df[["a", "c"]])

输出:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

在 Pandas 中使用 iloc()loc() 方法选择多列

我们还可以使用 iloc()loc() 方法来选择多列。

当我们要使用列索引来提取它们时,我们可以使用 iloc(),如下例所示。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])
print(df.iloc[:, [0, 2]])

输出:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801

同样,当我们想使用列名来选择列时,我们可以使用 loc(),如下图所示。

import pandas as pd
import numpy as np

df = pd.DataFrame(np.random.rand(4, 4), columns=["a", "b", "c", "d"])

print(df.loc[:, ["a", "c"]])

输出:

          a         c
0  0.255086  0.342223
1  0.744271  0.861554
2  0.420066  0.770193
3  0.014447  0.535801
作者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

相关文章 - Pandas DataFrame