pandas.read_csv()函數讀取文件時,關於“header=None”影響讀取列數區間的右閉合總結


對於一個沒有字段名標題的數據,如data.csv

1.獲取數據內容。pandas.read_csv(“data.csv”)默認情況下,會把數據內容的第一行默認為字段名標題

import pandas as pd
# 讀取數據
df =  pd.read_csv("../data/data.csv")
print(df)

為了解決這個問題,我們添加“header=None”,告訴函數,我們讀取的原始文件數據沒有列索引。因此,read_csv為自動加上列索引

import pandas as pd
# 讀取數據
df =  pd.read_csv("../data/data.csv", header=None)
print(df)

2.局部獲取。有時候我們需要取某些列數據,如下(X,y):

  • pd.read_csv()函數有"header=None"參數:
import pandas as pd
# 讀取數據
df =  pd.read_csv("../data/data.csv", header=None)
# 注意有"header=None", df.ix[:,0:4]就是左閉右閉的區間
X= df.ix[:,0:4]
y = df.ix[:,5]
print(X)
print(y)


  • pd.read_csv()函數沒有"header=None"參數:
import pandas as pd
# 讀取數據
df =  pd.read_csv("../data/data.csv")
# 注意沒有"header=None", df.ix[:,0:4]就是左閉右開的區間
X= df.ix[:,0:4] # 實際上X應該是df.ix[:,0:5]
y = df.ix[:,5]
print(X)
print(y)



在第二種情況中,帶上names屬性還是df.ix[:,0:4]就是左閉右開的區間。

# 設置表頭
names = ["US0","US1","US2","US3","US4","Class"]
# 讀入數據 (沒有屬性行:header=None)
df =  pd.read_csv("../data/data.csv", names=names)
# 注意沒有"header=None", df.ix[:,0:4]就是左閉右開的區間
X= df.ix[:,0:4] # 實際上X應該是df.ix[:,0:5]
y = df.ix[:,5]
print(df)
print(X)
print(y)



總結:pd.read_csv()函數,有"header=None", df.ix[:,0:4]就是左閉右閉的區間;沒有"header=None", df.ix[:,0:4]就是左閉右開的區間。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM