gpt4 book ai didi

python - 如何使用 DataFrame 的输出进行操作?

转载 作者:行者123 更新时间:2023-12-01 08:19:57 25 4
gpt4 key购买 nike

我有一个 DataFrame 对象,我按一些键进行分组并计算结果。问题是我想替换 DataFrame 列的索引之一来表示计数之间的关系。

df.groupby(['A','B', 'C'])['C'].count().apply(f).reset_index()

我正在寻找一个 f,它将 C 列替换为 #timesC==1/#timesC==0 的值> 对于 AB 的每个值。

最佳答案

这是你想要的吗?

import pandas as pd
import numpy as np

df = pd.DataFrame(
{'A':[1,2,3,1,2,3],
'B':[2,0,1,2,0,1],
'C':[1,1,0,1,1,1]
})
print(df)

def f(x):
if np.count_nonzero(x==0)==0:
return np.nan
else:
return np.count_nonzero(x==1)/np.count_nonzero(x==0)

result = df.groupby(['A','B'])['C'].apply(f).reset_index()
print(result)

结果:

#df
A B C
0 1 2 1
1 2 0 1
2 3 1 0
3 1 2 1
4 2 0 1
5 3 1 1

#result
A B C
0 1 2 NaN
1 2 0 NaN
2 3 1 1.0

关于python - 如何使用 DataFrame 的输出进行操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54709380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com