python - 用excel/sql/pandas中同一列中出现的频率替换列中的值

标签 python mysql excel pandas

我有一个包含超过 600000 条记录的表和一个名为 Implementer_userid 的列,其中的值可能会重复多个记录。现在我想存储该列中特定不同值出现的次数。 COUNTIF(Excel)、GroupBy(sql) 和类似的函数将不起作用,因为我不需要特定值的计数,而是用其频率替换所有不同的值。请在以下三个框架之一中帮助我:Excel、Pandas(Python) 和 SQL

enter image description here

最佳答案

如果我正确理解你的问题,你可以使用 value_counts() 函数构建一个频率表,然后浏览你的列,用从你构建的字典中检索到的相应频率替换键(行值)早些时候。例如:

frequencies = your_pandas_dataframe['Your column'].value_counts()
your_pandas_dataframe['Result column'] = your_pandas_dataframe['Your column'].apply(lambda x: frequencies[x])

如果您不需要这个额外的列,您可以这样做:

# ...
your_pandas_dataframe['Your column'] = your_pandas_dataframe['Your column'].apply(lambda x: frequencies[x])

这能回答你的问题吗?

关于python - 用excel/sql/pandas中同一列中出现的频率替换列中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60318160/

相关文章:

excel - 文本数学方程到公式

python - 如何在apache服务器的cgi-bin中运行python脚本?

python - python代码中线性回归的梯度下降

mysql - 在 perl/tk 上使用线程来避免窗口卡住/不响应

MySql:让这个查询更快......有办法吗?

mysql - 如何使用 order by 和 group by 之后对列求和

vba - 粘贴到另一个工作表的下一行

mysql - 将 Excel 表导入 MySQL 阿拉伯语数据

Python GATT 服务器将 BLE 流式传输到 Windows

python - TypeError : 'NoneType' object is not iterable issue. 我如何设法绕过空语句?