分類統計+頻數分布 python


help

import xlrd
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# 設定行名稱,第1行為字段名稱
data = pd.read_excel("D:/01研/03研二/20220321help/歷史 圖情 經濟 哲學三類文獻原文及引文數據 1997-2016/歷史 圖情 經濟 哲學三類文獻原文及引文數據/Information science and Library Science/原文/ISLS.xlsx")
#data.head()

# 作者數量計算
data['Author Full Names'] = data['Author Full Names'].fillna("nan")
# Number of authors
data.loc[:,'Number_of_authors'] = data['Author Full Names'].apply(lambda x: len(x.split(";"))) 

data.info()

# 分類變量的數量查詢
# 不同類型下論文數量
data['Document_Type_new'].value_counts()

# 不同類型下未被引論文的數量
data[data["Times Cited, All Databases"]==0]['Document_Type_new'].value_counts()

# 不同類型下被引論文的數量
data[data["Times Cited, All Databases"]!=0]['Document_Type_new'].value_counts()

# 每年數據分布情況
data["Publication Year"].value_counts()

# 未被引文獻年度分布情況
data[data["Times Cited, All Databases"]==0]["Publication Year"].value_counts()

抽出零被引文獻,抽出零被引文獻中的三類文獻

# 零被引文獻,完全匹配
# 三類文獻
data0 = data[data["Times Cited, All Databases"]==0]
#data0
data0_sanlei = (data0[data0["Document_Type_new"]=="Article"].append(data0[data0["Document_Type_new"]=="Proceedings Paper"])).append(data0[data0["Document_Type_new"]=="Review"])

data0_sanlei["Publication Year"].value_counts()

抽出三類文獻

# 三類文獻
data_sanlei = (data[data["Document_Type_new"]=="Article"].append(data[data["Document_Type_new"]=="Proceedings Paper"])).append(data[data["Document_Type_new"]=="Review"])

# 三類文獻時間分布
data_sanlei["Publication Year"].value_counts()

# 三類文獻中零被引年度分布
data_sanlei[data["Times Cited, All Databases"]==0]["Publication Year"].value_counts()
# 三類文獻中語言分布
data_sanlei["Language"].value_counts()

# 三類文獻中零被引語言分布
data_sanlei[data["Times Cited, All Databases"]==0]["Language"].value_counts()

# 三類文獻長度分布
# 只需要一列的數據
data_sanlei_pages = data_sanlei["Number of Pages"]
data_sanlei_pages

# 最大值
data_sanlei_pages.max()

# 最小值
data_sanlei_pages.min()

len(data_sanlei_pages)
# 制作頻數分布表 
a = pd.cut(data_sanlei_pages,[0,5,10,15,20,25,30,35,40,10000], labels=[u"(0,5]",u"(5,10]",u"(10,15]",u"(15,20]",u"(20,25]",u"(25,30]",u"(30,35]",u"(35,40]",u"(40,10000]"])

# 計算頻數
# 按照升序排序
b = a.value_counts().sort_index()
b

# 三類零被引文獻長度分布
# 只需要一列的數據
data0_sanlei_pages = data0_sanlei["Number of Pages"]
data0_sanlei_pages

# 制作頻數分布表 
a = pd.cut(data0_sanlei_pages,[0,5,10,15,20,25,30,35,40,10000], labels=[u"(0,5]",u"(5,10]",u"(10,15]",u"(15,20]",u"(20,25]",u"(25,30]",u"(30,35]",u"(35,40]",u"(40,10000]"])

# 計算頻數
# 按照升序排序
b = a.value_counts().sort_index()
b
# 三類文獻
# 只需要一列的數據
data_sanlei_authors = data_sanlei["Number_of_authors"]
data_sanlei_authors
# 制作頻數分布表 
a = pd.cut(data_sanlei_authors,[0,1,2,3,4,5,6,7,8,10000], labels=[u"(0,1]",u"(1,2]",u"(2,3]",u"(3,4]",u"(4,5]",u"(5,6]",u"7",u"8",u"(,10000]"])

# 計算頻數
# 按照升序排序
b = a.value_counts().sort_index()
b
# 三類零被引文獻長度分布
# 只需要一列的數據
data0_sanlei_authors = data0_sanlei["Number_of_authors"]
data0_sanlei_authors

# 制作頻數分布表 
a = pd.cut(data0_sanlei_authors,[0,1,2,3,4,5,6,7,8,10000], labels=[u"(0,1]",u"(1,2]",u"(2,3]",u"(3,4]",u"(4,5]",u"(5,6]",u"7",u"8",u"(,10000]"])

# 計算頻數
# 按照升序排序
b = a.value_counts().sort_index()
b
# 三類文獻
# 只需要一列的數據
data_sanlei_references = data_sanlei["Cited Reference Count"]
data_sanlei_references

# 三類文獻長度分布
# 只需要一列的數據
data_sanlei_references = data_sanlei["Cited Reference Count"]
data_sanlei_references

# 制作頻數分布表 
a = pd.cut(data_sanlei_references
           ,[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,10000]
           ,labels=[u"(0,5]",u"(5,10]",u"(10,15]",u"(15,20]",u"(20,25]",u"(25,30]",u"(30,35]",u"(35,40]",u"(40,45]",u"(45,50]",u"(50,55]",u"(55,60]",u"(60,65]",u"(65,70]",u"(70,]"])

# 計算頻數
# 按照升序排序
b = a.value_counts().sort_index()
b
# 三類零被引文獻長度分布
# 只需要一列的數據
data0_sanlei_references = data0_sanlei["Cited Reference Count"]
data0_sanlei_references

# 制作頻數分布表 
a = pd.cut(data0_sanlei_references
           ,[0,5,10,15,20,25,30,35,40,45,50,55,60,65,70,10000]
           ,labels=[u"(0,5]",u"(5,10]",u"(10,15]",u"(15,20]",u"(20,25]",u"(25,30]",u"(30,35]",u"(35,40]",u"(40,45]",u"(45,50]",u"(50,55]",u"(55,60]",u"(60,65]",u"(65,70]",u"(70,]"])
           
# 計算頻數
# 按照升序排序
b = a.value_counts().sort_index()
b


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM