国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
竟然只需十分鐘就能自如掌握Python pandas

Pandas是數(shù)據(jù)處理和數(shù)據(jù)分析中最流行的Python庫(kù)。本文將為大家介紹一些有用的Pandas信息,介紹如何使用Pandas的不同函數(shù)進(jìn)行數(shù)據(jù)探索和操作。 包括如何導(dǎo)入數(shù)據(jù)集以及瀏覽,選擇,清理,索引,合并和導(dǎo)出數(shù)據(jù)等常用操作的函數(shù)使用,這是一個(gè)很好的快速入門(mén)指南,如果你已經(jīng)學(xué)習(xí)過(guò)pandas,那么這將是一個(gè)不錯(cuò)的復(fù)習(xí)。

pandas導(dǎo)入與設(shè)置

一般在使用pandas時(shí),我們先導(dǎo)入pandas庫(kù)。

import pandas as pd

pandas在默認(rèn)情況下,如果數(shù)據(jù)集中有很多列,則并非所有列都會(huì)顯示在輸出顯示中。 您可以使用以下代碼行來(lái)設(shè)置輸出顯示中的列數(shù):

pd.set_option('display.max_columns', 500)

500表示列的最大寬度。 也就是說(shuō),500意味著在調(diào)用數(shù)據(jù)幀時(shí)最多可以顯示500列。 默認(rèn)值僅為50。此外,如果想要擴(kuò)展輸顯示的行數(shù)。 可以通過(guò)如下代碼進(jìn)行設(shè)置:

pd.set_option('display.max_rows', 500)

讀取數(shù)據(jù)集

導(dǎo)入數(shù)據(jù)是開(kāi)始的第一步,使用pandas可以很方便的讀取excel數(shù)據(jù)或者csv數(shù)據(jù),使用代碼如下:

pd.read_csv('Soils.csv')pd.read_excel('Soils.xlsx')

在括號(hào)內(nèi) 'Soils.csv'是上傳的數(shù)據(jù)文件名,一般如果數(shù)據(jù)文件不在當(dāng)前工作路徑,則需要加上路徑信息。如果讀取的文件沒(méi)有列名,需要在程序中設(shè)置header,舉例如下:

pd.read_csv('Soils.csv',header=None)

如果碰巧數(shù)據(jù)集中有日期時(shí)間類型的列,那么就需要在括號(hào)內(nèi)設(shè)置參數(shù)parse_dates = [column_name],以便Pandas可以將該列識(shí)別為日期。 例如,如果數(shù)據(jù)集中有一個(gè)名為Collection_Date的日期列,則讀取代碼如下:

pd.read_excel('Soils.xls', parse_dates = ['Collection_Date'])

以下是成功導(dǎo)入后的數(shù)據(jù)預(yù)覽。

探索DataFrame

以下是查看數(shù)據(jù)信息的5個(gè)最常用的函數(shù):

df.head():默認(rèn)返回?cái)?shù)據(jù)集的前5行,可以在括號(hào)中更改返回的行數(shù)。 示例: df.head(10)將返回10行。

df.tail():返回?cái)?shù)據(jù)集的最后5行。同樣可以在括號(hào)中更改返回的行數(shù)。

df.shape:返回表示維度的元組。 例如輸出(48,14)表示48行14列。

df.info():提供數(shù)據(jù)摘要,包括索引數(shù)據(jù)類型,列數(shù)據(jù)類型,非空值和內(nèi)存使用情況。

df.describe():提供描述性統(tǒng)計(jì)數(shù)據(jù)。

統(tǒng)計(jì)某列數(shù)據(jù)信息

以下是一些用來(lái)查看數(shù)據(jù)某一列信息的幾個(gè)函數(shù):

df['Contour'].value_counts() : 返回計(jì)算列中每個(gè)值出現(xiàn)次數(shù)。

df['Contour'].isnull().sum():返回'Contour'列中的空值計(jì)數(shù)

df['pH'].notnull().sum():返回“pH”列中非空值的計(jì)數(shù)

df['Depth'].unique():返回'Depth'列中的唯一值

df.columns:返回所有列的名稱

選擇數(shù)據(jù)

列選擇:如果只想選擇一列,可以使用df['Group']. 這里'Group'是列名。

要選擇多個(gè)列,可以使用df[['Group', 'Contour', 'Depth']]。

子集選擇/索引:如果要選擇特定的子集,我們可以使用.loc或.iloc方法。 基本使用方法如下:

df.loc[:,['Contour']]:選擇'Contour'列的所有數(shù)據(jù)。 其中單冒號(hào):選擇所有行。 在逗號(hào)的左側(cè),您可以指定所需的行,并在逗號(hào)的右側(cè)指定列。

df.loc[0:4,['Contour']]:選擇“Contour”列的0到4行。

df.iloc[:,2]:選擇第二列的所有數(shù)據(jù)。

df.iloc[3,:]:選擇第三行的所有數(shù)據(jù)。

數(shù)據(jù)清洗

數(shù)據(jù)清洗是數(shù)據(jù)處理一個(gè)繞不過(guò)去的坎,通常我們收集到的數(shù)據(jù)都是不完整的,缺失值、異常值等等都是需要我們處理的,Pandas中給我們提供了多個(gè)數(shù)據(jù)清洗的函數(shù)。

數(shù)值替換

df.replace({'Topk': 'Top'}, inplace=True)

刪除空值

df['pH'].dropna(inplace=True)

輸入空值

df['pH'].fillna(df['pH'].mean(), inplace=True) #nulls are imputed with mean of pH column

刪除行和列

df.drop(columns = ['Na'], inplace = True) #This drops the 'Na' columndf.drop(2, axis=0, inplace=True) #This drops the row at index 2

值得注意的是,axis = 0表示刪除行。 您可以使用axis = 1來(lái)刪除列。

更改列名稱

df.rename(columns = {'Conduc' : 'Cond', 'Dens' : 'Density'}, inplace = True)

數(shù)據(jù)處理

您可以使用.apply在數(shù)據(jù).apply的行或列中應(yīng)用函數(shù)。 下面的代碼將平方根應(yīng)用于“Cond”列中的所有值。

df['Cond'].apply(np.sqrt)

數(shù)據(jù)分組

有時(shí)我們需要將數(shù)據(jù)分組來(lái)更好地觀察數(shù)據(jù)間的差異。Pandas中提供以下幾種方式對(duì)數(shù)據(jù)進(jìn)行分組。 下面的示例按“Contour”列對(duì)數(shù)據(jù)進(jìn)行分組,并計(jì)算“Ca”列中記錄的平均值,總和或計(jì)數(shù)。

df.groupby(by=['Contour'])['Ca'].mean()df.groupby(by=['Contour'])['Ca'].count()df.groupby(by=['Contour'])['Ca'].sum()

也可以按多列進(jìn)行數(shù)據(jù)分組。

df.groupby(by=['Contour', 'Gp'])['Ca'].mean()

合并多個(gè)DataFrame

將兩個(gè)數(shù)據(jù)合并在一起有兩種方法,即concat和merge。Concat適用于堆疊多個(gè)數(shù)據(jù)幀的行。

按列連接數(shù)據(jù)

pd.concat([df, df2], axis=1)

按行連接數(shù)據(jù)

pd.concat([df, df2], axis=0)

當(dāng)您的數(shù)據(jù)幀之間有公共列時(shí),合并適用于組合數(shù)據(jù)幀。

合并數(shù)據(jù)

pd.merge(df, df2, left_on='Contour', right_on='Contour', how='outer')

數(shù)據(jù)保存

在完成數(shù)據(jù)清洗后,就需要將數(shù)據(jù)輸出到csv或excel文件中保存。如果要將數(shù)據(jù)輸出到由制表符分隔的csv文件,請(qǐng)使用以下代碼。 '\t'表示您希望它以制表符分隔。

df.to_csv('myDataFrame.csv', sep='\t')

輸出到excel:

writer = pd.ExcelWriter('myDataFrame.xlsx') df.to_excel(writer,'DataFrame') writer.save()
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
利用Python進(jìn)行數(shù)據(jù)分析:【Pandas】(Series+DataFrame)
Pandas 用法總結(jié)
Pandas概論
R語(yǔ)言與python對(duì)數(shù)據(jù)框的操作(對(duì)比筆記)
Python 數(shù)據(jù)操作教程(最佳Pandas教程通過(guò) 50 個(gè)示例學(xué)習(xí))
Pandas入門(mén)教程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服