使用Excel或WPS打开几十万、几百万行数据的文件十分缓慢,进行数据处理很容易卡死崩溃。这几天在处理一份数据文件的时候我尝试边学边用Python,获得了预想的效果。
记录一下处理过程中学到的知识点:
导入数据文件
# Python 3.10.4
import pandas as pd
path = r"C:\Users\Administrator\Desktop\test1.csv"
#导入数据文件,文件含有特殊字符,所以采用unicode_escape编码格式
df = pd.read_csv(path,encoding="unicode_escape",low_memory=False)
df
数据情况 : 数据文件包含了网站名称site_short_name、文章标题title、文章URL、话题topics等信息。一个网站有多个话题,多篇文章;同一篇文章会发表在不同的板块,多个板块的信息以数组形式存储在topics字段中;
数据处理的目的 : 将topics数组切分,去除重复值,最终获得每个网站的topics清单;
1 删除列
下载的csv文件会自动分列(只是猜想,不知道是不是这个原因),多了很多冗余列,使用Excel进行列删除直接卡死。用python处理有以下几个方法:
1.2 删除指定列外的其他列
删除有列名的列的方法:
#查看表头
df.columns
#方法1:删除指定列
del df['related_topics']
#方法2:删除指定列
df = df.drop(['related_topics'],axis=1)
#方法3:保留指定列,适合需要保留的列数量较少的情况(相当于删除其他列)
test1 = df.loc[:,df.columns.isin(['site_short_name','article_title','article_url','topics'