Python從csv文件中讀取數(shù)據(jù)及提取數(shù)據(jù)的方法
數(shù)據(jù)保存在csv文件中

1.從csv文件中讀取數(shù)據(jù)
參數(shù)header=None的有無
(1)沒有header=None——直接將csv表中的第一行當作表頭
# 讀取數(shù)據(jù)
import pandas as pd
data = pd.read_csv("data1.csv")
print(data)
打印結(jié)果為:

(2)有header=None——自動添加第一行當作表頭
# 讀取數(shù)據(jù)
import pandas as pd
data = pd.read_csv("data1.csv",header=None)
print(data)
打印結(jié)果為:

2.數(shù)據(jù)切割
(這里根據(jù)csv表的格式,將header=None不寫)
(1)獲取所有列,并存入一個數(shù)組中
# 讀取數(shù)據(jù)
import pandas as pd
data = pd.read_csv("data1.csv")
# print(data)
# ①獲取所有列,并存入一個數(shù)組中
import numpy as np
data = np.array(data)
print(data) # 用戶編號 性別 年齡(歲) 年收入(元) 是否購買
# [[15624510 1 19 19000 0]
# [15810944 1 35 20000 0]
# [15668575 2 26 43000 0]
# [15603246 2 27 57000 0]
# [ ... ... ... ... ...]]
(2)獲取指定列的數(shù)據(jù),并存入一個數(shù)組中
方法一:從csv文件獲取data,data[ ] ——需要考慮數(shù)據(jù)的維度問題
# 讀取數(shù)據(jù)
import pandas as pd
data = pd.read_csv("data1.csv")
print(data) # 用戶編號 性別 年齡(歲) 年收入(元) 是否購買
# (1)獲取第1列,并存入一個數(shù)組中
import numpy as np
col_1 = data["用戶編號"] #獲取一列,用一維數(shù)據(jù)
data_1 = np.array(col_1)
print(data_1)
# [15624510 15810944 15668575 15603246 15804002 15728773 15598044 15694829
# 15600575 15727311 15570769 15606274 15746139 15704987 15628972 15697686
# 15733883 15617482 15704583 15621083 15649487 15736760 15714658 15599081
# 15705113 15631159 15792818 15633531 15744529]
# (2)獲取第1,2列
col_12 = data[["用戶編號","性別"]] #獲取兩列,要用二維數(shù)據(jù)
data_12 = np.array(col_12)
print(data_12)
# [[15624510 1]
# [15810944 1]
# [15668575 2]
# [15603246 2]
# [ ... ..]]
方法二:usecols=[ ] —— 直接寫入獲取的列數(shù)
import pandas as pd
import numpy as np
data_1 = pd.read_csv("data1.csv",usecols=["用戶編號"])
data_1 = np.array(data_1)
print(data_1)
# [[15624510]
# [15810944]
# [15668575]
# [15603246]
# [ ... ]]
# (2)如獲取第1,2列
data_12 = pd.read_csv("data1.csv",usecols=["用戶編號","性別"])
data_12 = np.array(data_12)
print(data_12)
# [[15624510 1]
# [15810944 1]
# [15668575 2]
# [15603246 2]
# [ ... ..]]
方法三:iloc[ ] ——實質(zhì)就是切片操作
import pandas as pd
import numpy as np
data = pd.read_csv("data1.csv")
# (1)獲取第1列
data_1 = data.iloc[:,0]
data_1 =np.array(data_1)
print(data_1)
# [15624510 15810944 15668575 15603246 15804002 15728773 15598044 15694829
# 15600575 15727311 15570769 15606274 15746139 15704987 15628972 15697686
# 15733883 15617482 15704583 15621083 15649487 15736760 15714658 15599081
# 15705113 15631159 15792818 15633531 15744529]
# (2)獲取第1,2列
data_12 = data.iloc[:,0:2]
data_12 = np.array(data_12)
print(data_12)
# [[15624510 1]
# [15810944 1]
# [15668575 2]
# [15603246 2]
# [ ... ..]]
# 獲取最后兩列
data_last = data.iloc[:,-2:]
data_last = np.array(data_last)
print(data_last)
# [[ 19000 0]
# [ 20000 0]
# [ 26 43000 0]
# [ 27 57000 0]
# [ ... ... ...]]
到此這篇關(guān)于Python從csv文件中讀取數(shù)據(jù)并提取數(shù)據(jù)的方法的文章就介紹到這了,更多相關(guān)Python csv文件中讀取數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python判斷計算機是否有網(wǎng)絡(luò)連接的實例
今天小編就為大家分享一篇python判斷計算機是否有網(wǎng)絡(luò)連接的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
PyTorch?Dataset與DataLoader使用超詳細講解
用于處理數(shù)據(jù)樣本的代碼可能會變得凌亂且難以維護;理想情況下,我們希望數(shù)據(jù)集代碼與模型訓練代碼解耦,以獲得更好的可讀性和模塊化。PyTorch提供的torch.utils.data.DataLoader和torch.utils.data.Dataset允許你使用預下載的數(shù)據(jù)集或自己制作的數(shù)據(jù)2022-10-10
Pycharm無法打開雙擊沒反應(yīng)的問題及解決方案
這篇文章主要介紹了Pycharm無法打開,雙擊沒反應(yīng),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08
python 實現(xiàn)dict轉(zhuǎn)json并保存文件
今天小編就為大家分享一篇python 實現(xiàn)dict轉(zhuǎn)json并保存文件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
Python使用Matplotlib繪制散點趨勢線的代碼詳解
Matplotlib是一個用于數(shù)據(jù)可視化的強大Python庫,其基本功能之一是創(chuàng)建帶有趨勢線的散點圖,散點圖對于可視化變量之間的關(guān)系非常有用,本文將指導您使用Matplotlib繪制散點趨勢線的過程,涵蓋線性和多項式趨勢線,需要的朋友可以參考下2025-01-01
Python中使用裝飾器和元編程實現(xiàn)結(jié)構(gòu)體類實例
Python中使用裝飾器和元編程實現(xiàn)結(jié)構(gòu)體類實例,本文的方法算是一種Python的黑魔法技術(shù),并非Python的常規(guī)寫法,需要的朋友可以參考下2015-01-01

