python - 计算每列的不同值,返回数据框,并对值进行排序
问题描述
这是我的代码:
for column in list(data.columns):
pd.DataFrame(columns=column, data=data.columns.nunique()).sort_values()
这不行……
无论是定义一个函数还是使用一个 for 循环,我怎样才能简单地检查每列的唯一值编号?
解决方案
您的代码有很多问题,但主要有两个:
- 您不会存储、打印或将
pd.DataFrame
您创建的对象附加到列表中。 - 您正在应用于
nunique
列标签,而不是数据框中的数据。
在这里,您可以nunique
直接使用您的数据框,然后sort_values
:
np.random.seed(0)
df = pd.DataFrame(np.random.randint(0, 10, (5, 5)))
res = df.nunique()\
.sort_values(ascending=False)\
.rename('Count')\
.to_frame()
print(res)
Count
1 5
3 4
2 4
0 4
4 3
推荐阅读
- reactjs - 开玩笑地在不同的模拟 API 调用中返回不同的数据
- java - 以编程方式关闭工具栏菜单
- postgresql - 无法连接到服务器:连接被拒绝(0x0000274D/10061)服务器是否在主机“localhost”上运行
- c# - C# 在 asp.net 核心托管服务使用者中处理具有多个并行任务的 IAsyncEnumerable 项
- vb.net - 使用 For Each 将集合分配给集合数据项
- java - 使用 Kivy 和 Buildozer 创建 Android 应用时 opencv 出现问题:找不到 libpython3.5m.so、libpython3.6m.so、libpython3.7m.so
- java - 如何在 asp.net core 1.0 c#中将字符串(实际上是位图)转换为 IFormFile
- authentication - 如何在使用 CloudFormation 启动 EC2 实例时复制文件并添加动态内容?
- java - 如何监听 Firestore 中文档列表的实时更新?
- amazon-web-services - Amazon Web Services (AWS) 是否支持 GDPR?