Python實現(xiàn)讀取csv文件并進行排序
從本文開始,本系列將介紹python簡單案例并進行代碼展示,本文的案例是利用pandas庫實現(xiàn)讀取csv文件并按照列的從小到大進行排序。
前言
CSV 是什么?
CSV 文件最開始可能有人會誤認為是 Excel 的一種文件格式,包括我還沒了解過 CSV 文件之前,也一直認為 CSV 格式的文件就是 Excel 保存后的另一種文件格式,下面就簡單介紹一下 CSV 到底是什么。
CSV (Comma-Separated Values) 是一種相對簡單、通用的文件格式,通常叫做逗號分隔值,也有人叫它字符分隔值,因為分隔字符不一定是逗號。其文件是以純文本的形式存儲表格數(shù)據(jù),相當于一個結(jié)構(gòu)化表的純文本形式。
CSV 通常應用在程序之間轉(zhuǎn)移數(shù)據(jù)場景下使用,因為 CSV 存儲的格式通用且簡單,適合轉(zhuǎn)換為其它數(shù)據(jù)格式。比如將數(shù)據(jù)庫中的數(shù)據(jù)導出存儲為 CSV 文件,再將 CSV 數(shù)據(jù)文件導入到其它程序,這樣就輕松實現(xiàn)了程序與程序之間的數(shù)據(jù)交換。
再比如,使用 Python 寫爬蟲程序爬取某網(wǎng)站上的數(shù)據(jù)時,最開始,網(wǎng)站上的數(shù)據(jù)往往都是比較雜亂的,將爬取到的數(shù)據(jù)存儲到 CSV 文件中,可以很方便地查看數(shù)據(jù)、修改數(shù)據(jù)。
CSV 通常可以使用 Excel 打開查看,也可以使用 Wndows 記事本程序打開,你也可以使用如 Notepad++、 Sublime 等編輯器打開,閱讀到此,是不是覺得 CSV 非常靈活、實用了。
一、案例描述
scalars.csv是一個三列若干行的文件。第一列為Wall time,表示無用數(shù)據(jù);第二列為Step,繪圖時用于橫軸;第三列為Value,繪圖時用于縱軸。
讀取scalars.csv第三列元素(Value)進行從小到大排序并繪制圖像。
二、代碼講解
首先導入相應的庫:
import pandas as pd import matplotlib.pyplot as plt
read_csv用于讀取csv文件,header指定列標題,usecols指定讀取第二列和第三列(第二列作為橫,第三列作為縱)。
sort_values用于進行排序,by指定要排序的名稱;axis指定要排序的軸,默認為0即按行排序;ascending指定升序排列還是降序排列,默認為True表示升序,F(xiàn)alse指定降序排列即按照從大到小進行排序。
# 對scalars.csv第三列元素進行從大到小排序并繪制圖像
txt=pd.read_csv('scalars.csv',header=0,usecols=[1,2])
# 按Value排序,默認升序,ascending=False指定降序排列即按照從大到小進行排序
txt2=txt.sort_values(by=["Value"],ascending=False)
最后繪制排序前和排序后的圖像。
# 創(chuàng)建畫布 plt.figure(figsize=(10,6),dpi=100) # 排序前的圖像 plt.plot(txt['Step'],txt['Value']) # 顯示圖形 plt.show() # 排序后的圖像 plt.plot(txt['Step'],txt2['Value']) # 顯示圖形 plt.show()
三、完整代碼
完整代碼如下:
import pandas as pd
import matplotlib.pyplot as plt
# 對scalars.csv第三列元素進行從大到小排序并繪制圖像
txt=pd.read_csv('scalars.csv',header=0,usecols=[1,2])
# 按Value排序,默認升序,ascending=False指定降序排列即按照從大到小進行排序
txt2=txt.sort_values(by=["Value"],ascending=True)
# 創(chuàng)建畫布
plt.figure(figsize=(10,6),dpi=100)
# 排序前的圖像
plt.plot(txt['Step'],txt['Value'])
# 顯示圖形
plt.show()
# 排序后的圖像
plt.plot(txt['Step'],txt2['Value'])
# 顯示圖形
plt.show()
到此這篇關于Python實現(xiàn)讀取csv文件并進行排序的文章就介紹到這了,更多相關Python讀取csv文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python搭建Keras CNN模型破解網(wǎng)站驗證碼的實現(xiàn)
這篇文章主要介紹了Python搭建Keras CNN模型破解網(wǎng)站驗證碼的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
Python使用matplotlib繪制正弦和余弦曲線的方法示例
這篇文章主要介紹了Python使用matplotlib繪制正弦和余弦曲線的方法,結(jié)合實例形式分析了Python調(diào)用matplotlib庫進行圖形繪制想具體操作技巧,需要的朋友可以參考下2018-01-01
python傳到前端的數(shù)據(jù),雙引號被轉(zhuǎn)義的問題
這篇文章主要介紹了python傳到前端的數(shù)據(jù),雙引號被轉(zhuǎn)義的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04
Pandas數(shù)據(jù)分析之groupby函數(shù)用法實例詳解
這篇文章主要為大家介紹了Pandas數(shù)據(jù)分析之groupby函數(shù)用法實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-10-10
Python庫Theano深度神經(jīng)網(wǎng)絡的設計訓練深入探究
Theano是一個用于深度學習的Python庫,它提供了高效的數(shù)值計算和自動微分功能,使得深度神經(jīng)網(wǎng)絡的設計和訓練變得更加容易,本文將深入探討Theano的功能和用法,并提供豐富的示例代碼,幫助大家入門深度學習2024-01-01

