获取 pandas 列中的唯一值并进行排序-ag捕鱼王app官网

获取 pandas 列中的唯一值并进行排序

作者:迹忆客 最近更新:2024/04/20 浏览次数:

本文将介绍如何获取 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 seriesunique() 方法在我们处理 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

上一篇:

下一篇:将 json 转换为 pandas dataframe

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

pandas read_csv()函数

发布时间:2024/04/24 浏览次数:254 分类:python

pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 dataframe 中。

pandas 追加数据到 csv 中

发布时间:2024/04/24 浏览次数:352 分类:python

本教程演示了如何在追加模式下使用 to_csv()向现有的 csv 文件添加数据。

pandas 多列合并

发布时间:2024/04/24 浏览次数:628 分类:python

本教程介绍了如何在 pandas 中使用 dataframe.merge()方法合并两个 dataframes。

pandas loc vs iloc

发布时间:2024/04/24 浏览次数:837 分类:python

本教程介绍了如何使用 python 中的 loc 和 iloc 从 pandas dataframe 中过滤数据。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便
网站地图