gpt4 book ai didi

python - 如何计算变量值在几天内随时间的共现情况以生成邻接列表?

转载 作者:行者123 更新时间:2023-12-01 00:53:06 24 4
gpt4 key购买 nike

我正在分析 Google Cloud 上新闻文档 GDELT 数据库中的数据。该文件包含一个日期列、300 个主题代码之一以及一个频率值。

这是我的数据。示例数据文件大约有 46,000 行:https://docs.google.com/spreadsheets/d/11oUiznvFTKGAOz1QXavbiWH1sxgCJHbFfysu0F0MdKs/edit?usp=sharing

这里列出了 284 个独特的主题:
https://docs.google.com/spreadsheets/d/1gN3Vc5W6rGekF8P_Rp73BL2YaO6WTDVp-DpP0Il22vk/edit?usp=sharing

我需要在每天内创建一对主题,并根据其频率的乘积进行加权。然后,我需要输出一个邻接列表:theme_A、theme_B 和权重,以便随后随着时间的推移对主题进行网络分析。我陷入了计算主题共现的困境。

#Import packages
import pandas as pd
import numpy as np

#Read in data file
df = pd.read_csv(r'C:\Users\james\Desktop\Documents\Downloads\Cybersecurity\cybertime.csv')
df.head

#Create bigrams of themes by days, based on cooccurrences weighted by frequencies.
#Iterate rows until new date is found, then compute weighted cooccurrences.
#Weights are products of theme A frequency (freq) and theme B frequency.


#Output the adjacency list.

最佳答案

您可以尝试将自定义函数与 groupBy 一起使用并应用于 pandas 数据框。请参阅here

或者做:

df.groupby(['date', 'theme'])['frequency'].apply(lambda x : x.astype(int).sum() 

关于python - 如何计算变量值在几天内随时间的共现情况以生成邻接列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56431956/

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