我们可以使用.idxmax获得数据帧(Df)的最大值。我的问题是我有一个有几个列(超过10列)的df,其中一个列具有相同值的标识符。我需要提取具有最大值的标识符:
df
id值a 0 b 1 b 1 c 0 c 2 c 1
现在,这就是我想要的
df
id值a 0 b 1 c 2
我正试图通过使用df.groupy(['id'])来获得它,但它有点棘手:
df.groupby(["id"]).ix[df['value'].idxmax()]
当然,这不管用。我担心我没有走上正确的道路,所以我想我应该问问你们!谢谢!
目前,我有一个庞大的数据集和一个非常小的例子如下所示。我想要做的是基于shift列提取行,并为的最后3行从score列中找到最大值,然后将整行提取到一个新的数据帧中。
例如:每一天有两班(白天和晚上),每班我都想为每班最后3行找到最高分数(例如:6月26日,shift>日,我想从last 3 score of the day shift,26 jun )中找到最高分数。我不想取每一个移位最大的分数并提取那一行),并提取整行并将其设置为新的dataframe。我想每天两班都这么做。
预期的dataframe输出如下:
我试图使用groupby来解决这个问题。但是,我不
我有一个包含两列的数据帧。一个是数字的,另一个是分类的。例如, c1 c2
0 15 A
1 11 A
2 12 B
3 40 C 我希望按c1排序,但将具有相同c2值的行放在一起(这样所有的A都放在一起)。在有多个条目的类别中,我们按该类别中的最大值进行排序。 所以最终结果将是 c1 c2
0 40 C
1 15 A
2 11 A
3 12 B 我该怎么做呢?谢谢
我们有一个数据框架df,它有两个列,如下所示。变量A有两个级别,1和2。变量B有三个级别--是,不,和其他。我们希望用df2变量C派生另一个数据框架,如果变量A 中的任何级别至少存在一个YES,则该变量C的值为 "1" ,否则为“0”。
df
A B
1 YES
1 YES
1 OTHER
1 NO
1 YES
1 NO
2 YES
2 YES
2 YES
2 NO
2 YES
3 OTHER
3 NO
3 NO
3 NO
df2
A C
1 1
2 1
3 0
我有一个dataframe,其中的列名具有相同的格式:data_sensor,其中日期的格式为yymmdd。下面是它的一个子集: ? 考虑到最后的数据(180722),我想根据传感器预定义的优先级保留该列。例如,我想定义SN1比SK3更重要。因此,期望的结果将是相同的dataframe,只是没有列180722_SK3。具有相同最后日期的列数可以超过两个。 这是我实现的解决方案: sensorsImportance = ['SN1', 'SK3'] #list of importence, first item is the most important
s
我正在寻找一种方法来选择在一个单独列中标识的组中具有最高值的数据value的行。
DataFrame:
Group Value
0 A 0
1 A 12
2 A 22
3 A 63
4 B 0
5 B 24
6 B 66
7 B 78
期望的DataFrame:
Group Value
0 A 63
1 B 78
我有3个数据集,每个数据集有3列和超过1000行。数据是关于两种症状组合的计数。例如,疼痛和发烧,计数为2。我想要一个输出,其中这些DataFrames以这样的方式组合在一起,即来自不同DataFrames的常见症状的计数被相加,而非常见的组合恰好以它们的方式结合在一起。我附上了一个样本DataFrame和我想要的结果。我们将非常感谢您的帮助。
#Sample
a = pd.DataFrame({'a':['pain','fever','Headache'],'b':['Cancer','H
我有一个带有100+行的dataframe,其中需要使用groupby提取值w.r.t 'High‘列。但我做不到。
我的数据样本是:
Date Open High ... Volume
Date Open High ... Volume
0 24-04-2020 1840.10 1851.60 ... 93384
1 23-04-2020 1786.00 1891.70 ... 453645
2 2
我有一个包含2列的数据帧,如下所示:
Index Year Country
0 2015 US
1 2015 US
2 2015 UK
3 2015 Indonesia
4 2015 US
5 2016 India
6 2016 India
7 2016 UK
我想创建一个新的数据帧,其中包含每年国家的最大计数。新的数据帧将包含3列,如下所示:
Index Year Countr
我有一个dataframe,我想按一个列" company“分组,聚合多个列,并找到每个聚合列具有最大值的公司。 Company performed Requests Request_Id Num_of_refunds
0 A 7 60 U9 3
1 A 90 6 U10 2
2 B 89 6 ZX9 10
3 B
我想为每个id获取单行,其中只存在charge列的最大值。
输入数据示例:
id name charge
11 hg 10
11 mm 20
22 aa 40
22 bb 40
我尝试过的代码:
df.agg(max("charge"))
我只得到最大值,如下所示:
charge
40
但是,我想保留整个行:
id name charge
11 mm 20
22 aa 40
22 bb 40
如何同时保留前两列?对于相同的id,name列可以有不同的值,因此不可能在这两个列上都使用groupBy并聚合结果。
如果两行
我有一个有两列的Pandas数据。
name case
0 a 01
1 a 03
2 b 04
3 b 05
4 b 06
5 b 08
6 b 09
7 b 12
8 c 01
9 c 02
10 c 03
11 c 04
我需要的是一本字典:
{"a": ["01", "03"],
"b": ["04", "05", "06", "08", "09"