这似乎相当明显,但我似乎无法弄清楚如何将数据框的索引转换为列?
例如:
df=
gi ptt_loc
0 384444683 593
1 384444684 594
2 384444686 596
Run Code Online (Sandbox Code Playgroud)
至,
df=
index1 gi ptt_loc
0 0 384444683 593
1 1 384444684 594
2 2 384444686 596
Run Code Online (Sandbox Code Playgroud) 我只是想知道这两个执行的功能有什么不同?
数据:
import pandas as pd
df = pd.DataFrame({"ID":["A","B","A","C","A","A","C","B"], "value":[1,2,4,3,6,7,3,4]})
Run Code Online (Sandbox Code Playgroud)
as_index = False:
df_group1 = df.groupby("ID").sum().reset_index()
Run Code Online (Sandbox Code Playgroud)
reset_index():
df_group2 = df.groupby("ID", as_index=False).sum()
Run Code Online (Sandbox Code Playgroud)
他们两个都给出完全相同的输出。
ID value
0 A 18
1 B 6
2 C 6
Run Code Online (Sandbox Code Playgroud)
谁能告诉我有什么区别,还有任何例子可以说明吗?
dft = pd.DataFrame({'C1': ['A','A','B','B'],
'C2': [1,2,3,4]})
def lam3(df):
return pd.DataFrame({'X': ['C','D','E'],
'Y': [11,22,33]})
Run Code Online (Sandbox Code Playgroud)
给定上述数据帧和函数(我无法更改),我想运行 groupby+apply 以便每个组返回一个数据帧,如下所示
C1 C2 X Y
0 A 1 C 11
1 A 1 D 22
2 A 1 E 33
3 A 2 C 11
4 A 2 D 22
5 A 2 E 33
6 B 3 C 11
7 B 3 D 22
8 B 3 E 33
9 B 4 C 11
10 B 4 D 22
11 B 4 E 33 …Run Code Online (Sandbox Code Playgroud)