我有这个数据框:
df = pd.DataFrame({'FS':[1,1,2],'FL':[2,3,4],'GS':[5,8,9],'GL':[5,2,4],'JJ':['no','more','math']})
print(df)
FS FL GS GL JJ
0 1 2 5 5 no
1 1 3 8 2 more
2 2 4 9 4 math
Run Code Online (Sandbox Code Playgroud)
我想在循环 b/c 中的“L”(长)和“S”(短)之间添加列,此数据帧长 64 列,但在填充字符串的列 JJ 之前停止。我想对这些列执行的操作是:Ratio = S/(S+L) 所以我的数据框看起来像这样:
df = pd.DataFrame({'FS':[1,1,2],'FL':[2,3,4],'FRatio':[0.333,0.25,0.333],\
'GS':[5,8,9],'GL':[5,2,4],'GRatio':[0.5,0.8,0.692],\
'JJ':['no','more','math']})
print(df)
FS FL FRatio GS GL GRatio JJ
0 1 2 0.333 5 5 0.500 no
1 1 3 0.250 8 2 0.800 more
2 2 4 0.333 9 4 0.692 math
Run Code Online (Sandbox Code Playgroud)
我想过将数据帧融合为长格式,但每个 S/L 对都是独一无二的,我想不出将它们分开的方法。