文章目录
Dataframe是python的一种数据结构,几乎可以跟所有的数据结构互相转换
平时处理数据的时候也经常会用到dataframe,但是每次都上网查,感觉印象不是很深,所以这次把处理数据的代码贴上来加深一下印象。
这次要简单处理的数据是专利的分类号。
1. 先读取数据并选择分类号列并使用dropna()
方法将nan值去除
df = pd.read_csv('us_data_all_cleaned.csv', sep=',')
fenlei = df["分类号"]
fenlei=fenlei.dropna()
获取到的数据如下
一行数据代表一个专利,但是如数据所示,一个专利可能有多个专利号,并且使用;
进行分隔。所以对数据用;
split掉生成多个列表再对列表中每一个元素取前三位:
for i in fenlei:
i = i.split(';')
k = list(set(list(map(lambda x:x.strip()[0:3], i))))
print一下得到的结果
然后再加入到字典中,得到如下效果:
2. 接下来就是对dataframe和字典类型转换的运用
(1) 将字典转换成dataframe,字典中的keys和values分别是dataframe的两列
count_df = pd.DataFrame.from_dict(count_dict, orient='index', columns=['专利数量'])
(2) 分类号也单独拿出作为一列
count_df = count_df.reset_index().rename(columns={'index':'分类号'})
(3) 以分类号位基准进行排序
count_df = count_df.sort_values(['分类号'])
(4) 再对最左边的index重新排序
最后写入csv文件就完事了