欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

?python中pandas讀取csv文件?時(shí)如何省去csv.reader()操作指定列步驟

 更新時(shí)間:2022年01月26日 17:12:58   作者:bulabula2022??  
這篇文章主要介紹了?python中pandas讀取csv文件?時(shí)如何省去csv.reader()操作指定列步驟,對(duì)正在工作的你可能有一定的幫助,需要的朋友可以參考一下

優(yōu)點(diǎn):

  • 方便,有專(zhuān)門(mén)支持讀取csv文件的pd.read_csv()函數(shù)。
  • 將csv轉(zhuǎn)換成二維列表形式
  • 支持通過(guò)列名查找特定列。
  • 相比csv庫(kù),事半功倍

1.讀取csv文件

import pandas as pd
?
file="c:\data\test.csv"
csvPD=pd.read_csv(file)
?
df = pd.read_csv('data.csv', encoding='gbk') #指定編碼
?
?
read_csv()方法參數(shù)介紹
filepath_or_buffer:文件所在路徑
encoding :編碼,字符型,通常為'utf-8',如果中文讀取不正常,可以將encoding設(shè)為'gbk'
sep:分隔符,默認(rèn)為一個(gè)英文逗號(hào),即','
delimiter :備選分隔符,如果指定了delimiter則sep失效
header :整數(shù)或者由整數(shù)組成的列表,以用來(lái)指定由哪一列或者哪幾列作為列名,默認(rèn)為header=0,表示第一列作為列名
eg: ?pd.read_csv('data.csv', encoding='gbk', header=1) # 指定第二列作為列名
? ? ?pd.read_csv('data.csv', encoding='gbk', header=[0,1,3])
? ? ?pd.read_csv('data.csv', encoding='gbk', header=None) #表示不從文件數(shù)據(jù)中指定行作為列名,這是Pandas會(huì)自動(dòng)生成從零開(kāi)始的序列作為列名
?
names:一個(gè)列表,為數(shù)據(jù)額外指定列名。
pd.read_csv('data.csv', encoding='gbk', names=['第一列', '第二列', '第三列', '第四列'])

2.#指定列:通過(guò)索引指定列名獲取列

data_new[] 建立空表存儲(chǔ)行信息
for i in range(len(csvPD)):
? ? lst_new = [] ?# 建立空列表存儲(chǔ)行信息
? ? if "未知版本" in str(csvPD['版本組件'][i]):
? ? ? ? print(csvPD['版本組件'][i])
? ? ? ? # print(csvPD['匹配數(shù)量'][i])
? ? ? ? # print(csvPD['git'][i])
? ? ? ? # print(csvPD['來(lái)源鏈接'][i])
? ? ? ? lst_new.append(csvPD['版本組件'][i])
? ? ? ? lst_new.append(csvPD['匹配數(shù)量'][i])
? ? ? ? lst_new.append(csvPD['git'][i])
? ? ? ? lst_new.append(csvPD['來(lái)源鏈接'][i])
?
? ? ? ? data_new.append(lst_new) ?# 添加每行信息

3.根據(jù)index查詢(xún)

條件:首先導(dǎo)入的數(shù)據(jù)必須的有index
或者自己添加吧,方法簡(jiǎn)單,讀取excel文件時(shí)直接加index_col

代碼示例:

import pandas as pd ? ? ? ? ? ? ? ? ? ? #導(dǎo)入pandas庫(kù)
?
excel_file = './try.xlsx' ? ? ? ? ? ? ? #導(dǎo)入excel數(shù)據(jù)
data = pd.read_excel(excel_file, index_col='姓名') ? ? ? ?
#這個(gè)的index_col就是index,可以選擇任意字段作為索引index,讀入數(shù)據(jù)
print(data.loc['李四']) ? ? ? ? ? ? ? ?#使用loc函數(shù)來(lái)查找

4.已知數(shù)據(jù)在第幾行找到想要的數(shù)據(jù)

假如我們的表中,有某個(gè)員工的工資數(shù)據(jù)為空了,那我們?cè)趺凑业阶约合胍臄?shù)據(jù)呢。

代碼如下:

for i in data.columns:
? ? for j in range(len(data)):
? ? ? ? if (data[i].isnull())[j]:
? ? ? ? ? ? bumen = data.iloc[j, [0]] ? ? ? ? ? ? ? ? ? ? ? ? ? ? #找出缺失值所在的部門(mén)
? ? ? ? ? ? data[i][j] = charuzhi(bumen)

首先檢索全部的數(shù)據(jù),然后我們可以用pandas中的iloc函數(shù)。上面的iloc[j, [2]]中j是具體的位置,【0】是你要得到的數(shù)據(jù)所在的column

"""根據(jù)條件查詢(xún)某行數(shù)據(jù)"""
import pandas as pd ? ? ? ? ? ?#導(dǎo)入pandas庫(kù)
?
excel_file = './try.xlsx' ? ? ? ?#導(dǎo)入文件
data = pd.read_excel(excel_file) ? ? ?#讀入數(shù)據(jù)
?
print(data.loc[data['部門(mén)'] == 'A', ['姓名', '工資']]) ? ? #部門(mén)為A,打印姓名和工資
print(data.loc[data['工資'] < 3000, ['姓名','工資']]) ? ?#查找工資小于3000的人

若要把這些數(shù)據(jù)獨(dú)立生成excel文件或者csv文件:

添加以下代碼:

"""導(dǎo)出為excel或csv文件"""
dataframe_1 = data.loc[data['部門(mén)'] == 'A', ['姓名', '工資']]
dataframe_2 = data.loc[data['工資'] < 3000, ['姓名', '工資']]
dataframe_1.to_excel('dataframe_1.xlsx')
dataframe_2.to_excel('dataframe_2.xlsx')
?
data.iloc[:,:2] ?#即全部行,前兩列的數(shù)據(jù)
?
?
data['columns'] ?#columns即你需要的字段名稱(chēng)即可
#注意這列的columns不能是index的名稱(chēng)
#如果要打印index的話就data.index
data.columns ?#與上面的一樣
?
data.iloc[:10,:][data.工資>6000] #找出前11行里工資大于6000的所有人的信息了

5.指定單元格:1001A列23時(shí)的AQI值

keyWord="1001A"
for i in range(len(csvPD)):
? ? if str(csvPD['hour'][i])=="23" and str(csvPD['type'][i])== "AQI":
? ? ? ? result=csvPD[keyWord][i]
? ? ? ? print(result)
? ? ? ??

解決遇到的"NAN":

  • csv文件中:1001A站點(diǎn)0時(shí)的AQI為空白值,返回的結(jié)果為NAN
  • NAN全稱(chēng):Not A Number

常規(guī)解決思路:

使用numpy函數(shù)來(lái)判斷:np.isnan()xxx is np.nan
通過(guò)運(yùn)算操作判斷:任何數(shù)字乘上0都是0
讀取文件時(shí)加參數(shù):pd.read_csv(file, keep_default_na=False)

到此這篇關(guān)于?python中pandas讀取csv文件?時(shí)如何省去csv.reader()操作指定列步驟的文章就介紹到這了,更多相關(guān)?python中pandas讀取csv文件 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python文件操作seek()偏移量,讀取指正到指定位置操作

    python文件操作seek()偏移量,讀取指正到指定位置操作

    這篇文章主要介紹了python文件操作seek()偏移量,讀取指正到指定位置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Matlab之使用HeatMap實(shí)現(xiàn)畫(huà)熱圖

    Matlab之使用HeatMap實(shí)現(xiàn)畫(huà)熱圖

    這篇文章主要介紹了Matlab之使用HeatMap實(shí)現(xiàn)畫(huà)熱圖方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • pytorch 實(shí)現(xiàn)多個(gè)Dataloader同時(shí)訓(xùn)練

    pytorch 實(shí)現(xiàn)多個(gè)Dataloader同時(shí)訓(xùn)練

    這篇文章主要介紹了pytorch 實(shí)現(xiàn)多個(gè)Dataloader同時(shí)訓(xùn)練的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • 在python中l(wèi)ist作函數(shù)形參,防止被實(shí)參修改的實(shí)現(xiàn)方法

    在python中l(wèi)ist作函數(shù)形參,防止被實(shí)參修改的實(shí)現(xiàn)方法

    這篇文章主要介紹了在python中l(wèi)ist作函數(shù)形參,防止被實(shí)參修改的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python中顯存回收問(wèn)題解決方法

    python中顯存回收問(wèn)題解決方法

    這篇文章主要介紹了python中顯存回收問(wèn)題解決方法,文章提供一個(gè)實(shí)例問(wèn)題和處理的思路,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2021-12-12
  • python+rsync精確同步指定格式文件

    python+rsync精確同步指定格式文件

    這篇文章主要為大家詳細(xì)介紹了python+rsync精確同步指定格式文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • python分布式環(huán)境下的限流器的示例

    python分布式環(huán)境下的限流器的示例

    本篇文章主要介紹了python分布式環(huán)境下的限流器的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-10-10
  • keras建模的3種方式詳解

    keras建模的3種方式詳解

    這篇文章主要介紹了keras建模的3種方式詳解,keras是Google公司于2016年發(fā)布的以tensorflow為后端的用于深度學(xué)習(xí)網(wǎng)絡(luò)訓(xùn)練的高階API,因接口設(shè)計(jì)非常人性化,深受程序員的喜愛(ài),需要的朋友可以參考下
    2023-08-08
  • python實(shí)現(xiàn)布隆過(guò)濾器及原理解析

    python實(shí)現(xiàn)布隆過(guò)濾器及原理解析

    布隆過(guò)濾器( BloomFilter )是一種數(shù)據(jù)結(jié)構(gòu),比較巧妙的概率型數(shù)據(jù)結(jié)構(gòu)(probabilistic data structure),特點(diǎn)是高效地插入和查詢(xún),可以用來(lái)告訴你 “某樣?xùn)|西一定不存在或者可能存在”。這篇文章主要介紹了python實(shí)現(xiàn)布隆過(guò)濾器 ,需要的朋友可以參考下
    2019-12-12
  • Python 從列表中取值和取索引的方法

    Python 從列表中取值和取索引的方法

    今天小編就為大家分享一篇Python 從列表中取值和取索引的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12

最新評(píng)論