基于python,用pandas排序降序数据框:
鉴于:
from pandas import DataFrame
import pandas as pd
d = {'x':[2,3,1,4,5],
'y':[5,4,3,2,1],
'letter':['a','a','b','b','c']}
df = DataFrame(d)
df如下所示:
df:
letter x y
0 a 2 5
1 a 3 4
2 b 1 3
3 b 4 2
4 c 5 1
我想要类似的东西:
f = lambda x,y: x**2 + y**2
test = df.sort(f('x', 'y'))
这应该相对于列“ x”和“ y”的平方值的总和来排序完整的数据框,然后给我:
test:
letter x y
2 b 1 3
3 b 4 2
1 a 3 4
4 c 5 1
0 a 2 5
升序或降序无关紧要。有没有一个简单而好的方法?我找不到解决方案。
df.iloc[(df.x 2 + df.y 2).sort_values().index]
在如何根据字符串索引上的自定义顺序对熊猫数据框进行排序之后
按降序排序的LinkedHashSet的输出。 对不起,如果这是混淆,我不知道如何去排序像这样。
我将如何从从excel文件创建的Dataframe中提取列与特定值匹配的行? 以下是Dataframe中的几行: 这是我用来读取excel文件的代码,选择我需要的列并适当地重命名它们: 到目前为止,根据诸如这个、这个或这里的答案,我只能返回第一个索引,其中Food=“Total fruit”。当我尝试上述其他方法时,我只得到列名,例如: 我对熊猫不熟悉,看不出哪里出了问题。为什么我可以提取第一行食
问题内容: 该文档展示了如何使用输出列名称作为键的字典一次在groupby对象上应用多个功能: 但是,这仅适用于Series groupby对象。同样,当将字典类似地传递到groupby DataFrame时,它期望键是将应用该函数的列名。 我想做的是对多个列应用多个功能(但是某些列将被多次操作)。同样,某些函数将依赖于groupby对象中的其他列(如sumif函数)。我当前的解决方案是逐列进行操
所以这个问题已经嘲弄我好几天了。如有任何帮助,不胜感激!我制作了一个LinkedHashMap,它存储字符串每个部分的可能组合,我试图在字符串的ArrayList中获得所有排列,同时维护字符串顺序。例如,如果映射为:A=ab,B=C,则组合为:ab ac abb abc
我需要根据其中一个列的条件交换多个列的值,并使用API而不是sparkQL 我有一个包含列 [A,B,C,X,Y,Z] 的数据帧,并且它具有具有以下模式的行: (1,2,3,空,空,空),< br> (3,3,3,空,空,空),< br >(空,空,空,5,3,2),< br> (3,1,1,空,空),< br >(空,空,空,3,4,1) 当任何行具有列A中的值为空的条件时,我想实现列组(a,
问题内容: 可以说我有这样的表: 我想得到的是这样的表: 发生的第一件事是基于column进行排序。 发生的第二件事是基于列的,但仅基于列中具有相同数字的行 在不使用任何数据库引擎的情况下应该如何解决此问题? 问题答案: 通常,通常使用where 是包含所有三个值的类型(例如,“ foo”,第一行的5、0)来执行此操作。 然后,您将编写一个比较在中呈现给它的两个对象的Int1值的,如果给出了明确的