【发布时间】:2020-01-04 06:50:19
【问题描述】:
我有一个与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...等等。
【问题讨论】:
-
位置 3 不会是 50% V 和 50%Y。只是想知道我的问题是否正确
-
是的!将纠正错字。
-
它是一个建议,因此是一个评论 - 编写一个方法
def countFreq(df)它将计算 X 在系列/列中的出现 - 记录。将您的df[columnA]作为输入参数传递给此方法。在countFreq(df)中创建一个 DICT ,其中包含dictFreq['X']和dictFreq['A']等键。将字母计数作为值附加到这些 dict 键。 -
您也可以发布所需的输出,它应该是什么样子?
-
下面的回复,尤其是来自 Akash Kumar 的回复,已经解决了问题。从他的回答中,我会补充一点,如果您希望频率处于特定位置:stats.iloc[0]