pandas 从列中获取唯一值。

示例

In [15]: df = pd.DataFrame({"A":[1,1,2,3,1,1],"B":[5,4,3,4,6,7]})

In [21]: df

Out[21]: 

   A  B

0  1  5

1  1  4

2  2  3

3  3  4

4  1  6

5  1  7

在A和B列中获取唯一值。

In [22]: df["A"].unique()

Out[22]: array([1, 2, 3])

In [23]: df["B"].unique()

Out[23]: array([5, 4, 3, 6, 7])

要获得列表A列中的唯一值(请注意,unique()可以以两种略有不同的方式使用)

In [24]: pd.unique(df['A']).tolist()

Out[24]: [1, 2, 3]

这是一个更复杂的示例。假设我们要从“ A”等于1的“ B”列中找到唯一值。

首先,让我们介绍一个副本,以便您了解它的工作原理。让我们用4代替行“ 4”中的“ B”列中的6:

In [24]: df.loc['4', 'B'] = 4    

Out[24]:    

   A  B

0  1  5

1  1  4

2  2  3

3  3  4

4  1  4

5  1  7

现在选择数据:

In [25]: pd.unique(df[df['A'] == 1 ]['B']).tolist()

Out[25]: [5, 4, 7]

这可以通过首先考虑内部DataFrame来分解:

df['A'] == 1

这将在A列中找到等于1的值,并将True或False应用于它们。然后,我们可以使用它从DataFrame的“ B”列中选择值(外部DataFrame选择)

为了进行比较,以下是我们不使用唯一性的列表。它检索列“ A”为1的列“ B”中的每个值

In [26]: df[df['A'] == 1]['B'].tolist()

Out[26]: [5, 4, 4, 7]

           

以上是 pandas 从列中获取唯一值。 的全部内容, 来源链接: utcz.com/z/330669.html

回到顶部