亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

使用python對excel表格處理的一些小功能

瀏覽:7日期:2022-06-29 11:00:56

python對excel表格處理的一些小功能 功能概覽pandas庫的一些應用文件讀入計算表格中每一行的英文單詞數簡單用textblob進行自然語言情感分析判斷一行中是不是有兩列值都與其他行重復(可推廣至多列)對表格中的兩列自定義函數運算判斷表格中某列中是否有空對表格某列中時間格式的修正運用matplotlib畫時間序列圖,重疊圖

功能概覽

做數模模擬賽時學到的一些對表格處理的知識,為了方便自己以后查找,遂寫成一篇文章,也希望能幫助大家:)

pandas庫的一些應用

文件讀入

代碼如下,每一句后面都有注釋!包括知識點:1.excel文件的寫入和輸出;2.檢驗表格中是否有NaN,有即刪除一行;3.把表格某列中所有某字母替換成另一字母,所有某數字替換成另一數字;4.檢驗表格某列中每一格是Y還是N,是Y就在新列中對應輸出1,反之則為0;5.對表格中多列進行運算(首先要配置pandas庫,如果需要讀取和寫入文件,要配置xlsxwriter庫)

import pandas as pdimport xlsxwriter word=pd.read_excel(’C:/math/Problem_C_Data/my_pacifier.xlsx’) #excel表格文件讀入,括號里面寫文件地址word=word.replace([’n’,’y’],[’N’,’Y’]) #把excel表里的所有n替換成N,y替換成Yword=word.dropna(axis=0) #如果表格里有一行中有NaN,即刪除這一行word[’m’] = word[’a’].str.contains(’Y’).astype(int) #如果列索引為a的這一列中有Y則對應新列中取值為1word[’n’]=word[’vine’].str.contains(’Y’).astype(int)word[’n’]=word[’n’].replace(1,2) #把列索引為n的這一列中所有為1的值轉換為2s = word.apply(lambda word: word[’a’] *(word[’m’]+word[’n’]) , axis=1) #s列是由表格中其他列的計算得到word[’Si’]=(s - s.min())/(s.max() - s.min()) #對s列中的值進行歸一化處理print(word[’Si’]) //打印索引為Si的列#print(s)#print(word[’n’])word.to_excel(’C:/math/Problem_C_Data/SVVp.xlsx’,engine=’xlsxwriter’) //輸出excel文件到電腦中print(’finished’)

計算表格中每一行的英文單詞數

包含知識點:1.dataframe和字典、列表的轉換;2.如何遍歷字典;3.計算dataframe中每一列的英文句子中的單詞數

import pandas as pdimport xlsxwriter word=pd.read_excel(’C:/math/Problem_C_Data/reviewh.xlsx’) #里面只有一列數據c=[] #列表,用來統計每一行的英文句子的英文單詞個數word=word.set_index(word.index).T.to_dict(’list’) #把這一列數據按dataframe的索引轉換成字典 for key,value in word.items(): #遍歷字典 s=str(value) #先把表格里當前行的內容轉換成字符串 a=s.split(’ ’) #把英文句子按空格分割 num_s=len(a) #計算出單詞個數 c.append(num_s) #添加到c中c=pd.DataFrame(c) #由列表轉換為dataframec.to_excel(’C:/math/Problem_C_Data/counth.xlsx’,engine=’xlsxwriter’) //輸出成新的文件print(’finished’)

簡單用textblob進行自然語言情感分析

用NLP簡單分析表格中每一格的英文句子的情感極性和主觀性

import pandas as pdfrom textblob import TextBlobimport xlsxwriter word=pd.read_excel(’C:/math/Problem_C_Data/reviewh.xlsx’)c=[]word=word.set_index(word.index).T.to_dict(’list’)for key,value in word.items(): s=str(value) blob = TextBlob(s) #把s轉化成textblob對象 blob = blob.sentences #利用TextBlob句子標記化句子 first = blob[0].sentiment #對標記化后的句子進行情感分析(我這里只有一個句子,如果有很多句就添加second=blob[1].sentiment) c.append(first.polarity) #這里只添加了情感極性,如果還需要主觀性,就直接用firstc=pd.DataFrame(c)c.to_excel(’C:/math/Problem_C_Data/NLPh.xlsx’,engine=’xlsxwriter’)print(’finished’)

判斷一行中是不是有兩列值都與其他行重復(可推廣至多列)

判斷表中是不是有在同一行中a列和b列值都相同的情況。如第一行中a=1,b=2,第4行中a=1,b=2,則這兩行相同;如果第8行中a=1,b=3,則它和第一行不重復

import pandas as pdimport xlsxwriterword=pd.read_excel(’C:/math/Problem_C_Data/my_hair_dryer.xlsx’)x=word[’a’] y=word[’b’]z=pd.concat([x,y],axis=1)#對axis=1即把兩列按行對齊,即左右拼接成一張表 z[’repeat’]=z.duplicated() #判斷表中有沒有重復的,如果有則輸出為truell = z[’repeat’].values.tolist() #把這一列轉變成列表 if ’True’ in ll: #遍歷列表,如果里面有true,就說明有重復,就輸出yes print(’yes’)print(’finished’)

對表格中的兩列自定義函數運算

(此處定義的是除法運算)

import pandas as pdimport xlsxwriter word=pd.read_excel(’C:/math/Problem_C_Data/my_hair_dryer.xlsx’)def chu(x,y): if y==0: #分母為0,則不運算,結果直接為0 result=0 else: result=x/y return results = word.apply(lambda word:chu(word[’helpful_votes’],word[’total_votes’]), axis=1)s.to_excel(’C:/math/Problem_C_Data/voteh.xlsx’,engine=’xlsxwriter’)print(’finished’)

判斷表格中某列中是否有空

import numpy as npimport pandas as pdimport xlsxwriter word=pd.read_excel(’C:/math/Problem_C_Data/my_hair_dryer.xlsx’)train=word[’review_date’]print(train.isnull().any()) #有空即輸出true

對表格某列中時間格式的修正

原格式是月/日/年,如1/11/2014,改為標準datetime格式2014-01-11(此處還要舍去后面的00:00:00),方便之后畫圖,也方便排序等

import pandas as pdimport datetime #引入庫#導入數據集data =pd.read_excel(’C:/math/Problem_C_Data/Exx.xlsx’)data = data.loc[:, [’review_date’]] # 獲取數據集中列名為review_date#s= pd.to_datetime(data[’review_date’], format=’%m/%d/%Y’)# 標準化日期,獲取時間的“年、月、日”def change_date(s): s = datetime.datetime.strptime(s, '%m/%d/%Y') #這里是原格式的形式,俺是月/日/年,可根據實際情況修改 # 把日期標準化,如把1/11/2014變成2014-01-011 00:00:00 s = str(s) # 上一步把date轉化為了時間格式,此處把date轉回str格式 return s[:10] #只獲取年月日的方法,即“位置10”之前的字符串 #字符串的切片data[’review_date’] = data[’review_date’].map(change_date) # 用change_date函數處理列表中date這一列,如把“1/11/2014”轉化為“2014-01-11”#data = data.sort_values(by=’review_date’) # 按date這一列進行排序,根據需要采用data.to_excel(’C:/math/Problem_C_Data/Exxx.xlsx’,engine=’xlsxwriter’)print(’finished’)

運用matplotlib畫時間序列圖,重疊圖

畫時間序列圖(如果要畫重疊圖,記得x要一樣,y可以不一樣,然后用plt.plot(x,y0,x,y1,x,y2)即可畫出重疊圖)

import numpy as npimport matplotlib.pyplot as pltimport pandas as pdimport matplotlibimport datetimefrom statsmodels.graphics.factorplots import interaction_plotimport xlsxwriter data=pd.read_excel(’C:/math/Problem_C_Data/Exx.xlsx’)# # create data s=data[’E’] #y軸e0=s[2907:5043]t=data[’review_date’] t0=t[2907:5043]y0 =e0.values.tolist()x0 = pd.to_datetime(t0) #x軸# # plotplt.plot(x0,y0)plt.gcf().autofmt_xdate()plt.grid(ls = ’--’) #設置背后的網格線plt.show() #最后一定要show()

到此這篇關于使用python對excel表格處理的一些小功能的文章就介紹到這了,更多相關python對excel表格處理內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: python
相關文章:
主站蜘蛛池模板: 国产一区二区在线免费观看 | 亚洲视频999 | 亚洲精品一二三 | 久久精品视频免费 | 欧美三片| 国产精品videosse | 免费国产成人高清在线观看不卡 | 久久婷婷国产综合精品青草 | 丰满老妇猛交视频 | 一级黄色片a| 欧美俄罗斯一级毛片激情 | 国产αv | 午夜日韩久久影院 | 国产黄片毛片 | 久久一区二区精品 | 亚洲国产成人久久一区久久 | 久久久久久久91精品免费观看 | 看全色黄大色黄大片色黄看的 | 黄色网址你懂的 | 国产精品久久久久久久小唯西川 | 免费福利片 | 青春草国产成人精品久久 | 黄色毛片免费在线观看 | 亚洲精品一二三 | 国产国产精品人在线观看 | 福利一二区 | 国产亚洲精品精品国产亚洲综合 | 国产护士一级毛片高清 | 黄色免费在线视频 | 国产女人成人精品视频 | 日本一级毛片视频无遮挡免费 | 超色软件 | 手机看片欧美 | 欧美国产综合日韩一区二区 | 美女吹潮 | 婷婷亚洲综合五月天小说在线 | 黄色小视频网 | 亚洲一区二区色 | 18年大片免费在线观看 | 一区二区三区在线看 | 成人免费国产欧美日韩你懂的 |