gpt4 book ai didi

python - 计算 Pandas DataFrame 列中字符串中某个位置的字符频率

转载 作者:太空宇宙 更新时间:2023-11-04 08:25:27 25 4
gpt4 key购买 nike

我有一个与 df['columnA'].value_counts() 方法和之前的帖子相关的问题:Count frequency of values in pandas DataFrame column

以 DataFrame 为例:

fake_data = {'columnA': ['XAVY', 'XAVY', 'XAVY', 'XAVY', 'XAVY', 'AXYV', 'AXYV', 'AXYV', 'AXYV', 'AXYV', 'AXYV']}
df = pd.DataFrame(fake_data, columns = ['columnA'])
df

我正在尝试确定此列中字符串中每个位置的每个字母 (X,A,V,Y) 的频率。

在此示例中,位置 0 为 54% A、46% X,位置 3 为 46% Y、54% V...等等。

最佳答案

首先将字符串转换为列表,然后扩展为列。然后计算值并计算每个字母出现的百分比。

(
df.columnA.apply(list)
.apply(pd.Series)
.apply(pd.value_counts)
.apply(lambda x: x.div(x.sum()))
.fillna(0)
)

0 1 2 3
A 0.545455 0.454545 0.000000 0.000000
V 0.000000 0.000000 0.454545 0.545455
X 0.454545 0.545455 0.000000 0.000000
Y 0.000000 0.000000 0.545455 0.454545

关于python - 计算 Pandas DataFrame 列中字符串中某个位置的字符频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57736512/

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