我正在使用具有以下结构的 DataFrame:
import pandas as pd
df = pd.DataFrame({'group':[1,1,1,2,2,2,2,3,3,3],
'brand':['A','B','X','C','D','X','X','E','F','X']})
print(df)
group brand
0 1 A
1 1 B
2 1 X
3 2 C
4 2 D
5 2 X
6 2 X
7 3 E
8 3 F
9 3 X
Run Code Online (Sandbox Code Playgroud)
我的目标是仅查看与一个品牌X
相关联的组。由于第 2 组有两个观察值等于品牌X
,因此应该从结果数据帧中过滤掉它。
输出应如下所示:
group brand
0 1 A
1 1 B
2 1 X
3 3 E
4 3 F
5 3 X
Run Code Online (Sandbox Code Playgroud)
我知道我应该groupby
在组列上做一个,然后过滤那些计数X
不同于 1 的组。过滤部分是我努力的地方。任何帮助,将不胜感激。
我正在使用包含客户信息的数据集实验/学习Python。
DataFrame 结构如下(这些是组成记录):
import pandas as pd
df1 = pd.DataFrame({'left_name' : ['James', 'Mary', 'John', 'Patricia'],
'left_age' : [30, 37, 30, 35],
'right_name' : ['Robert', 'Jennifer', 'Michael', 'Linda'],
'right_age' : [30, 31, 38, 35]})
print(df1)
left_name left_age right_name right_age
0 James 30 Robert 30
1 Mary 37 Jennifer 31
2 John 30 Michael 38
3 Patricia 35 Linda 35
Run Code Online (Sandbox Code Playgroud)
将该transpose
方法应用到df1
,我们得到以下视图:
df2 = df1.T
print(df2)
0 1 2 3
left_name James Mary John Patricia
left_age 30 37 30 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试解决 Python/Pandas 中的一个问题,我认为这与最长路径算法密切相关。我正在使用的 DataFrame 具有以下结构:
import numpy as np
import pandas as pd
data = {
"cusID": ["001", "001", "001", "001", "001", "001", "002", "002", "002"],
"start": ["A", "B", "C", "D", "A", "E", "B", "C", "D"],
"end": ["B", "C", "D", "A", "E", "A", "C", "D", "E"]
}
df = pd.DataFrame(data)
print(df)
cusID start end
0 001 A B
1 001 B C
2 001 C D
3 001 D A
4 001 A E
5 001 E A
6 002 …
Run Code Online (Sandbox Code Playgroud) 正如标题所示,我正在尝试选择除 中的一列之外的所有列DataFrame.set_index
。
我尝试了以下方法:
df = df.set_index(list(df.columns != 'cus_name'))
Run Code Online (Sandbox Code Playgroud)
该cus_name
系列是我想排除的系列。上面的代码引发了一个KeyError: True
.
这list(df.columns != 'cus_name')
是一个布尔值列表[True, True, False, True, True, True, True, True, True, True, True, True]
,我需要的是一个列名称列表,除了cus_name
.
我知道我可以在方法中显式输入我想要的列的完整列表set_index
,但我在想是否有更有效的方法来做到这一点。
我在 Pandas 查询方面遇到了一些困难,希望得到一些帮助。我正在使用的 DataFrame 如下:
data = {
"id": ["A", "A", "A", "A", "A", "A", "B", "B"],
"start": ["P1", "P2", "P3", "P4", "P1", "P5", "P1", "P3"],
"finish": ["P2", "P3", "P4", "P1", "P5", "P1", "P3", "P5"],
"order": [1, 2, 3, 4, 5, 6, 1, 2]
}
df = pd.DataFrame(data)
print(df)
id start finish order
0 A P1 P2 1
1 A P2 P3 2
2 A P3 P4 3
3 A P4 P1 4
4 A P1 P5 5
5 A …
Run Code Online (Sandbox Code Playgroud) 这是我之前关于使用负值的特定条件标准化 Pandas DataFrame 列的文章的延续。
\n\n我正在使用的数据框如下:
\n\nimport numpy as np\nimport pandas as pd\n\ndf = pd.DataFrame({\'key\' : [111, 222, 333, 444, 555, 666, 777, 888, 999],\n \'score1\' : [-1, 0, 2, -1, 7, 0, 15, 0, 1], \n \'score2\' : [2, 2, -1, 10, 0, 5, -1, 1, 0]})\n\nprint(df)\n\n key score1 score2\n0 111 -1 2\n1 222 0 2\n2 333 2 -1\n3 444 -1 10\n4 555 7 0\n5 666 0 5\n6 777 15 -1\n7 888 0 1\n8 999 1 …
Run Code Online (Sandbox Code Playgroud) groupby
我在将海关功能应用于熊猫操作时遇到困难。假设我有以下 DataFrame 可以使用:
import pandas as pd
df = pd.DataFrame(
{
"id": [1, 1, 2, 2],
"flag": ["A", "A", "B", "B"],
"value1": [520, 250, 180, 360],
"value2": [11, 5, 7, 2],
}
)
print(df)
id flag value1 value2
0 1 A 520 11
1 1 A 250 5
2 2 B 180 7
3 2 B 360 2
Run Code Online (Sandbox Code Playgroud)
我需要对上面的 DataFrame 应用 4 个聚合函数,按id
和分组flag
。具体来说,对于每个id
和flag
:
value1
;value2
;