前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站零基礎(chǔ)入門的AI學(xué)習(xí)網(wǎng)站~。
前言
在數(shù)據(jù)分析和處理中,經(jīng)常需要讀取外部數(shù)據(jù)源,例如CSV文件。Python的pandas庫提供了一個(gè)強(qiáng)大的 read_csv() 函數(shù),用于讀取CSV文件并將其轉(zhuǎn)換成DataFrame對(duì)象,方便進(jìn)一步分析和處理數(shù)據(jù)。在本文中,將深入探討 read_csv() 函數(shù)中的 io 參數(shù),該參數(shù)是讀取數(shù)據(jù)的關(guān)鍵部分,并提供詳細(xì)的示例代碼。
目錄
前言
什么是read_csv()函數(shù)
io參數(shù)的使用
?1. 從本地文件讀取
?2. 從遠(yuǎn)程URL讀取
?3. 從文件對(duì)象讀取
?4. 從字符串讀取
?5. 指定編碼方式
更多的read_csv()參數(shù)
read_csv()函數(shù)的不同參數(shù)選項(xiàng)的應(yīng)用場(chǎng)景
指定分隔符
?跳過行和指定列
?處理缺失值
?解析日期
?自定義列名
?指定數(shù)據(jù)類型
總結(jié)
什么是read_csv()函數(shù)
read_csv() 函數(shù)是pandas庫中的一個(gè)用于讀取CSV文件的函數(shù)。它可以從本地文件、遠(yuǎn)程URL、文件對(duì)象、字符串等不同的數(shù)據(jù)源中讀取數(shù)據(jù),并將數(shù)據(jù)解析為DataFrame對(duì)象,以便進(jìn)行數(shù)據(jù)分析和操作。該函數(shù)有多個(gè)參數(shù),其中 io 參數(shù)是最重要的,決定了從哪里讀取數(shù)據(jù)。
io參數(shù)的使用
read_csv() 函數(shù)的 io 參數(shù)用于指定數(shù)據(jù)的輸入源,它可以接受多種不同的輸入方式,包括文件路徑、URL、文件對(duì)象、字符串等。下面是一些常見的 io 參數(shù)用法:
?1. 從本地文件讀取
可以將文件路徑傳遞給 io 參數(shù),以從本地文件系統(tǒng)中讀取CSV文件。例如:
import?pandas?as?pd
#?從本地文件讀取CSV數(shù)據(jù)
df?=?pd.read_csv('data.csv')
?2. 從遠(yuǎn)程URL讀取
如果CSV文件位于互聯(lián)網(wǎng)上的某個(gè)URL地址上,可以將URL傳遞給 io 參數(shù)來讀取數(shù)據(jù)。例如:
import?pandas?as?pd
#?從遠(yuǎn)程URL讀取CSV數(shù)據(jù)
url?=?'https://example.com/data.csv'
df?=?pd.read_csv(url)
?3. 從文件對(duì)象讀取
可以將已經(jīng)打開的文件對(duì)象傳遞給 io 參數(shù),以從文件對(duì)象中讀取數(shù)據(jù)。這在處理內(nèi)存中的文件時(shí)很有用。例如:
import?pandas?as?pd
#?打開文件并將文件對(duì)象傳遞給read_csv
with?open('data.csv',?'r')?as?file:
????df?=?pd.read_csv(file)
?4. 從字符串讀取
如果數(shù)據(jù)是以字符串的形式存在,可以直接將字符串傳遞給 io 參數(shù)。這在處理內(nèi)存中的數(shù)據(jù)時(shí)非常有用。例如:
import?pandas?as?pd
data_string?=?"name,age\nAlice,30\nBob,25"
df?=?pd.read_csv(io.StringIO(data_string))
在這個(gè)示例中,使用了 io.StringIO 類將字符串轉(zhuǎn)換為文件對(duì)象,然后傳遞給 read_csv() 函數(shù)。
?5. 指定編碼方式
有時(shí)候,CSV文件可能使用不同的字符編碼方式保存,可以通過 encoding 參數(shù)來指定編碼方式。例如:
import?pandas?as?pd
#?指定UTF-8編碼方式讀取CSV數(shù)據(jù)
df?=?pd.read_csv('data.csv',?encoding='utf-8')
更多的read_csv()參數(shù)
除了?io?參數(shù)之外,?read_csv()?函數(shù)還有許多其他參數(shù),用于控制數(shù)據(jù)的讀取和解析過程。
以下是一些常用的參數(shù):
?????
- sep?:用于指定字段之間的分隔符,默認(rèn)為逗號(hào)。
- header?:用于指定哪一行作為列名,默認(rèn)為第一行。
- skiprows?:用于跳過指定的行數(shù)。
- usecols?:用于選擇要讀取的列。
- dtype?:用于指定每列的數(shù)據(jù)類型。
- na_values?:用于指定要視為空值的標(biāo)記。
- parse_dates?:用于將指定列解析為日期。
read_csv()函數(shù)的不同參數(shù)選項(xiàng)的應(yīng)用場(chǎng)景
指定分隔符
有時(shí)候,CSV文件可能使用除逗號(hào)以外的分隔符,可以使用 sep 參數(shù)來指定分隔符。
import?pandas?as?pd
#?使用分號(hào)作為分隔符讀取CSV數(shù)據(jù)
df?=?pd.read_csv('data_semicolon.csv',?sep=';')
?跳過行和指定列
可以使用 skiprows 參數(shù)來跳過文件的一些行,以及使用 usecols 參數(shù)選擇要讀取的列。
import?pandas?as?pd
#?跳過前兩行并只讀取第一列和第三列數(shù)據(jù)
df?=?pd.read_csv('data.csv',?skiprows=[0,?1],?usecols=[0,?2])
?處理缺失值
使用 na_values 參數(shù)可以指定哪些值應(yīng)該被視為缺失值(NaN)。
import?pandas?as?pd
#?將"NA"和"Unknown"視為缺失值
df?=?pd.read_csv('data.csv',?na_values=['NA',?'Unknown'])
?解析日期
如果CSV文件包含日期信息,您可以使用 parse_dates 參數(shù)將指定的列解析為日期。
import?pandas?as?pd
#?解析"date"列為日期
df?=?pd.read_csv('data_with_dates.csv',?parse_dates=['date'])
?自定義列名
使用 header 參數(shù)可以自定義列名,可以指定某一行作為列名,也可以自定義列名列表。
import?pandas?as?pd
#?使用第三行作為列名
df?=?pd.read_csv('data.csv',?header=2)
#?自定義列名
custom_columns?=?['ID',?'Name',?'Age']
df?=?pd.read_csv('data.csv',?names=custom_columns)
?指定數(shù)據(jù)類型
如果需要為某些列指定特定的數(shù)據(jù)類型,可以使用 dtype 參數(shù)。
import?pandas?as?pd
#?指定"ID"列為整數(shù)類型,"Age"列為浮點(diǎn)數(shù)類型
dtype_mapping?=?{'ID':?int,?'Age':?float}
df?=?pd.read_csv('data.csv',?dtype=dtype_mapping)
總結(jié)
在本文中,詳細(xì)探討了 read_csv() 函數(shù)的 io 參數(shù),這是pandas庫中用于讀取CSV文件的關(guān)鍵參數(shù)。提供了多種示例代碼,演示了如何使用不同的參數(shù)選項(xiàng)來讀取和處理CSV數(shù)據(jù)。 read_csv() 函數(shù)的強(qiáng)大功能使得在數(shù)據(jù)分析和處理中更加靈活和高效。通過深入了解這些參數(shù),將能夠更好地掌握pandas庫,為數(shù)據(jù)分析工作提供更多工具和技巧。希望本文對(duì)大家有所幫助,能夠更加熟練地使用 read_csv() 函數(shù)來處理各種數(shù)據(jù)源中的CSV數(shù)據(jù)。文章來源:http://www.zghlxwxcb.cn/news/detail-838013.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-838013.html
到了這里,關(guān)于Python pandas中read_csv函數(shù)的io參數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!