假设我有以下df。
df = pd.DataFrame({
'A':['x','y','x','y'],
'B':['a','b','a','b'],
'C':[1,10,100,1000],
'D':['w','v','v','w']
})
A B C D
0 x a 1 w
1 y b 10 v
2 x a 100 v
3 y b 1000 w
Run Code Online (Sandbox Code Playgroud)
我想按A和B列分组,对C列求和,并保留D的值,该值与C的最大分组值在同一行。
A B C D
x a 101 v
y b 1010 w
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有这个:
df.groupby(['A','B']).agg({'C':sum})
A B C
x a 101
y b 1010
Run Code Online (Sandbox Code Playgroud)
我必须使用什么功能汇总D列?
我最近安装了 Anaconda 3,在一些小问题之后,我能够运行 Jupyter Notebook,但语法高亮根本不起作用。其他一切似乎都运行良好。
我之前安装了 Anaconda 2,在下载和安装 Anaconda 3 之前删除了它的所有目录(连同 jupyter 的目录)。
我不认为这种强制卸载 Anaconda 2 是导致此问题的原因,因为 Anaconda 3 文件应该全部包含在其安装中,对吗?
因此,我设法使用 altair 绘制了这些垂直连接的图表。我的问题是,如何在所有三个图形上绘制一条垂直线(例如,得分 20)?
我将发布数据和代码来绘制下面的图表:
数据:
score population_pct conversion_rate geb_income
0 10 39.6 0.1 0.1
1 20 0.8 1.9 0.2
2 30 1.8 6.0 0.9
3 40 3.9 9.1 3.1
4 50 7.2 11.9 6.7
5 60 10.5 15.8 12.6
6 70 12.6 22.5 20.0
7 80 12.5 31.8 26.4
8 90 9.6 48.2 27.0
9 100 1.4 57.0 3.0
Run Code Online (Sandbox Code Playgroud)
您可以通过复制 (Ctrl+C) 数据并执行以下代码来复制它:
score population_pct conversion_rate geb_income
0 10 39.6 0.1 0.1
1 20 0.8 1.9 0.2
2 30 1.8 …Run Code Online (Sandbox Code Playgroud)