用python对GDELT events数据中的actor1Name、actor2Name、eventCode字段生成简单的知识图谱图概念图并可视化。
import numpy as np
import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
data = pd.read_csv(r'E:/WorkSpace/data/GDELT2.0/20231007081500.export.csv',
delimiter='\t', encoding='utf-8', low_memory=False,
header=None, dtype=str)
source = []
target = []
relation = []
for line in data.values:
actor1_name = line[6]
event_code = line[26]
actor2_name = line[16]
if(pd.isna(actor1_name) | pd.isna(event_code) | pd.isna(actor2_name)):
continue
source.append(actor1_name)
target.append(actor2_name)
relation.append(event_code)
kg_df = pd.DataFrame({
'source':source, 'target':target, 'relation':relation