获取 Pandas 列中的唯一值并进行排序
本文将介绍如何获取 Pandas DataFrame 列中的唯一值。
例如,假设我们有一个由个人及其职业组成的 DataFrame,我们想知道职业的总数。在这种情况下,我们不能简单地使用总行数来确定独特的职业总数,因为许多人可能有相同的工作。对于这种情况,我们可以使用 Pandas 库提供的 unique()
和 drop_duplicates()
函数。
知道如何对 DataFrame 进行排序也是很重要的,因为它可以帮助可视化和理解数据。sorted()
和 sort_values()
函数可以帮助实现这一点。
我们将在本教程中对以下 DataFrame 进行排序和删除。
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
print(df)
输出:
A B
0 7 1
1 1 2
2 5 8
3 4 5
4 2 3
5 1 4
6 4 2
7 4 6
8 8 8
用 unique
方法获取 Pandas DataFrame 列中的唯一值
Pandas Series
的 unique()
方法在我们处理 DataFrame 的单列时使用,并返回一列的所有唯一元素。使用 unique()
函数的最终输出是一个数组。
例:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
print(df["A"].unique())
print(type(df["A"].unique()))
输出:
[7 1 5 4 2 8]
numpy.ndarray
用 drop_duplicates
方法获取 Pandas DataFrame 列中的唯一值
drop_duplicates()
可应用于 DataFrame 或其子集,并保留 DataFrame 对象的类型。当处理巨大的数据集以删除重复值时,它也被认为是一个更快的选择,
例:
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
print(df.drop_duplicates(subset="A"))
print(type(df.drop_duplicates(subset="A")))
输出:
A B
0 7 1
1 1 2
2 5 8
3 4 5
4 2 3
8 8 8
pandas.core.frame.DataFrame
在 Pandas DataFrame 中对列进行排序
我们可以使用 sorted()
方法对一个列进行排序,但它将最终结果转换为一个列表类型的对象。我们也可以通过将 reversed
参数设置为 True
来对列值进行降序排序。
下面的例子按照升序对列进行排序,并删除重复的值。
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
df_new = df.drop_duplicates(subset="A")
print(sorted(df_new["A"]))
print(type(sorted(df_new["A"])))
输出:
[1, 2, 4, 5, 7, 8]
list
sort_values()
是另一个对 DataFrame 进行排序的灵活选项。在这里,我们可以使用 by
参数指定要排序的列,使用 ascending
参数指定顺序是升序还是降序。它保留了对象类型为 Pandas DataFrame。
下面的例子是将列按降序排序,并删除重复的值。
import pandas as pd
import numpy as np
df = pd.DataFrame({"A": [7, 1, 5, 4, 2, 1, 4, 4, 8], "B": [1, 2, 8, 5, 3, 4, 2, 6, 8]})
df_new = df.drop_duplicates(subset="A")
print(df_new.sort_values(by="A", ascending=False))
type(df_new.sort_values(by="A"))
输出:
A B
8 8 8
0 7 1
2 5 8
3 4 5
4 2 3
1 1 2
pandas.core.frame.DataFrame
相关文章
将 Pandas DataFrame 转换为 Spark DataFrame
发布时间:2024/04/20 浏览次数:169 分类:Python
-
本教程将讨论将 Pandas DataFrame 转换为 Spark DataFrame 的不同方法。
将 Pandas DataFrame 导出到 Excel 文件
发布时间:2024/04/20 浏览次数:164 分类:Python
-
本教程介绍了有关如何将 Pandas DataFrame 导出到 excel 文件的各种方法
将 Lambda 函数应用于 Pandas DataFrame
发布时间:2024/04/20 浏览次数:113 分类:Python
-
本指南说明如何使用 DataFrame.assign() 和 DataFrame.apply() 方法将 Lambda 函数应用于 pandas DataFrame。
计算 Pandas 中两个 DataFrame 之间的交叉连接
发布时间:2024/04/20 浏览次数:114 分类:Python
-
本教程解释了如何在 Pandas 中计算两个 DataFrame 之间的交叉连接。
计算 Pandas DataFrame 列的数量
发布时间:2024/04/20 浏览次数:113 分类:Python
-
本教程解释了如何使用各种方法计算 Pandas DataFrame 的列数,例如使用 shape 属性、列属性、使用类型转换和使用 info() 方法。
更改 Pandas DataFrame 列的顺序
发布时间:2024/04/20 浏览次数:116 分类:Python
-
在这篇文章中,我们将介绍如何使用 python pandas DataFrame 来更改列的顺序。在 pandas 中,使用 Python 中的 reindex() 方法重新排序或重新排列列。
从 Pandas DataFrame 系列中获取列表
发布时间:2024/04/20 浏览次数:136 分类:Python
-
本文将讨论如何使用 tolist 方法从 Pandas DataFrame 系列中获取列表,并探索 Pandas DataFrame 结构。