我有数千只熊猫的dataframe df,每个熊猫有1.2亿行,如下所示:
a b c d e
111 10 100 200 300 james
112 11 110 210 310 june
112 11 140 210 312 dune
234 12 120 220 333 dane
重复索引是自定义索引为112。我希望保留列'b‘的最大值行以及自定义索引'112’。所以输出看起来就像
a b c d e
111 10 100 200 300 j
目前,我有一个庞大的数据集和一个非常小的例子如下所示。我想要做的是基于shift列提取行,并为的最后3行从score列中找到最大值,然后将整行提取到一个新的数据帧中。
例如:每一天有两班(白天和晚上),每班我都想为每班最后3行找到最高分数(例如:6月26日,shift>日,我想从last 3 score of the day shift,26 jun )中找到最高分数。我不想取每一个移位最大的分数并提取那一行),并提取整行并将其设置为新的dataframe。我想每天两班都这么做。
预期的dataframe输出如下:
我试图使用groupby来解决这个问题。但是,我不
我正在寻找一种方法来选择在一个单独列中标识的组中具有最高值的数据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
我现在有一个问题,在满足条件之前,我希望在熊猫数据中放置行。我想删除每一行之前,条件为10或更高的条件是满足列“数字”,这取决于名称列。假设dataframe (df)有两个名为'Name‘和'Number’的列。我希望在满足条件之前删除每个唯一名称的所有行,然后保留所有行。
Name Number
Matt 4
Matt 5
Matt 13
Matt 4
Sophie 5
Sophie 14
Sophie 18
Steve 5
Steve 4
Steve 21
Desired output:
Name Number
Ma
在具有2列[id][string]的dataframe中,我需要根据列[string]的值知道哪些行是重复行。我的dataframe有数千行,但只有2列。
输入数据的示例:
id,string
0,"A B C D"
1,"D B C D E Z"
2,"A B C D"
3,"Z Z Z Z Z Z Z Z Z Z Z Z"
4,"D B C D E Z"
5,"A B C D"
在这个示例中,行0、2、5是彼此重复的。此外,行1和4是彼此重复的。(id是唯一的)
我需要以下输出:
[["
我想根据某些组条件分割我的数据帧,并得到其上一条记录值为负值的所有组。
A B C D
1 a a 1
1 a a 2
1 a a 3
2 a a 1
2 a a -1
3 a a -1
3 a a -2
3 a a -3
假设这是我的数据框架,一列一组A。我想得到D列中最后一个负值的所有组:
A B C D
2 a a 1
2 a a -1
3 a a -1
3 a a -2
3 a a -3
B和C列与过滤器无关。但是我需要每个组中的所有行,而不仅仅是最后的行。怎么做?
我有一个pandas dataframe,我想在其中找到列Title中唯一值的数量,并删除所有有重复的行(keep=False逻辑),但前提是第二个列Format不相同。应忽略其他列(Publisher、Year)。 原始df: Title Format Publisher Year
T1 F1 P1 2010
T1 F1 P2 2014
T2 F2 P1 2012
T3 F1 P3 2016
我是Python和Pandas的新手;我已经寻找了几天的解决方案,但没有成功……这就是问题所在: 我有一个类似下面的数据集,我需要剔除一些行的前几个值,以便每行中的最高值在列A中。在下面的示例中,第0行和第3行将丢弃列A中的值,第4行将丢弃列A和B中的值,然后将所有剩余的值向左移动。 A B C D
0 11 23 21 14
1 24 18 17 15
2 22 18 15 13
3 10 13 12 10
4 5 7 14 11 所需 A B C D
0 23 21 14 NaN
1
Suppose we have a dataframe like this:
name value
'hi' 1
'hi' 2
'hi' 3
'hello' 5
'hello' 6
'hello' 8
如何找到组内差异最大的组名?
(在上面的示例中,组内的最大差异是3,那么如何从name列中选择'hello‘?)
DataFrameGroupby.filter方法筛选组,并返回包含传递筛选器的行的DataFrame。
但是在过滤之后,我能做些什么来获得一个新的DataFrameGroupBy对象而不是一个DataFrame呢?
例如,假设我有一个DataFrame df,它有两个列A和B。我希望获得列B的每个值的平均值,只要该组中至少有5行:
# pandas 0.18.0
# doesn't work because `filter` returns a DF not a GroupBy object
df.groupby('A').filter(lambda x: len(x
我比较了两个DataFrames (df1和df2),对于给定的键组合,每个行都应该有唯一的行。这意味着不存在Col1和Col2等键的复制。
import pandas as pd
# OK NOK NOK
df1 = pd.DataFrame({'Col1': ['A', 'A', 'B'],
'Col2': ['J', 'K', 'M'],