python讀取和處理資料的基本操作

2021-10-02 02:31:31 字數 2744 閱讀 8450

import numpy as np

import pandas as pd

#提供一些有用的資料結構和讀取資料

import matplotlib.pyplot as plt #畫圖用

import seaborn as sns #畫圖用,是matplotlib的擴充套件

import os #獲取和更改工作路徑

from sklearn.model_selection import train_test_split #劃分訓練集測試集

os.getcwd() #獲取當前工作路徑

os.chdir('d:/tianchi') #將工作路徑更改到d:/tianchi,之後可直接讀取這路徑下的檔案

train= pd.read_csv('zhengqi_train.txt',sep='\t') #讀取工作路徑下的txt檔案

#注意,sep='\t'引數說明使用\t(即tab鍵生成的空格)作為分隔符,如果使用記事本開啟zhengqi_train.txt,

#可發現檔案中列與列之間是用tab鍵分開的,所以要指定sep='\t'

train.shape #考察資料維度

train.head() #返回資料的前5行

train.tail() #返回資料的後5行

train.columns #返回資料的列名

train.index #返回資料的索引(行名)

train.mean() #計算train中各列的均值

train.std() #標準差

#檢查train資料中是否有缺失值:

np.isnan(train).any().sum() #返回值為0,表明沒有缺失值

#若有缺失值,可以考慮兩種方法,一種是將含有缺失值的行刪除:

train.dropna(how='any') #how='any'表示有乙個缺失值的行都刪除

#另一種是用均值或者中位數填補,以v1列為例:

train['v1'].fillna(train['v1'].mean()) #均值填充

train['v1'].fillna(train['v1'].median()) #中位數填充

#直方圖:

#密度圖:

#首先將train資料中的**變數和響應變數分離:

x= train.iloc[:,:-1].copy() #將train的前38列作為x,iloc函式根據行標和列標來選取資料(:-1表示從第一列到倒數第2列,而方括號中逗號前只有乙個:表明選定所有行)

y= train.loc[:,'target'].copy() #提取出train資料的target列作為y,當使用列名來選定某些列時要使用loc函式

#注意複製要使用copy函式,否則當改變x和y的時候,train裡面相應的值也會改變,另外對dataframe型別的資料進行索引時必須使用loc或iloc函式,不能直接x[0:3,1:5]這樣

#劃分訓練集測試集:

x_train, x_test, y_train, y_test=train_test_split(x,y,test_size=0.2,random_state=1)

#test_size指定測試集的比例,random_state是隨機種子,相同的隨機種子抽樣結果相同

#線性回歸:

from sklearn.linear_model import linearregression

model= linearregression().fit(x_train,y_train)

#輸出模型在訓練集上的準確率:

print("在訓練集上的準確率為:%f" %(model.score(x_train,y_train)))

print("在測試集上的準確率為:%f" %(model.score(x_test,y_test)))

#print函式中%符號用於格式化輸出,%f表明等待乙個浮點數填充這個位置,

#而後面的%(model.score(x_test,y_test)))表明使用這個模型的得分作為填充

# 支援向量機:

from sklearn.svm import svr #引入支援向量機,如果是分類任務則from sklearn.svm import svc

model= svr().fit(x_train,y_train)

print("在訓練集上的準確率為:%f" %(model.score(x_train,y_train)))

#輸出模型在測試集上的準確率:

print("在測試集上的準確率為:%f" %(model.score(x_test,y_test)))

#其它像神經網路、決策樹、邏輯回歸等模型在sklearn庫中都有,使用方法大同小異,在此不贅述了。

以上就是使用python進行資料讀取、處理、視覺化、建模的最基本操作,其它更複雜的操作還是需要閱讀相關的書籍進行深入研究。

python讀取大資料csv R讀取並處理較大資料

1.概述 之前在讀取和處理較大的csv資料時,在嘗試了一次直接讀取處理後發現非常耗時,就改用匯入資料庫,再通過rmysql或者rodbc來讀取處理資料。今天來比較一下。載入相關packages library data.table library dplyr library sqldf librar...

Python讀取和處理nc檔案

首先進行一下更新,在anaconda prompt 開始選單欄 anaconda3檔案下 中輸入命令 conda update all 然後安裝讀nc檔案所需的模組netcdf4 conda install netcdf4 這樣就完成了hdf4模組的安裝。coding utf 8 spyder ed...

Python cora資料集的讀取和處理

參考資料 cora資料集介紹 python讀取 圖資料集之cora資料集介紹 用pyton處理 可用於gcn任務 cora資料集由機器學習 組成。這些 分為以下七個類別之一 import numpy as np import pandas as pd 讀入.content檔案 cora conten...