欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

pandas基礎(chǔ)之Series與DataFrame操作-創(chuàng)新互聯(lián)

pandas包

在湖濱等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需求定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),湖濱網(wǎng)站建設(shè)費用合理。

# 引入包

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

Series

Series 是一維帶標(biāo)簽的數(shù)組,數(shù)組里可以放任意的數(shù)據(jù)(整數(shù),浮點數(shù),字符串,Python Object)。其基本的創(chuàng)建函數(shù)是:

s = pd.Series(data, index=index)

其中 index 是一個列表,用來作為數(shù)據(jù)的標(biāo)簽。data 可以是不同的數(shù)據(jù)類型:

Python 字典

ndarray 對象

一個標(biāo)量值,如 5

Series創(chuàng)建

s = pd.Series([1,3,5,np.nan,6,8])

Series日期創(chuàng)建

# 生成日期 從2013-01-01 生成至 2013-01-06

dates = pd.date_range('20130101', periods=6)

# DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04','2013-01-05', '2013-01-06'], dtype='datetime64[ns]', freq='D')

Series創(chuàng)建列表

# 生成2列 第一列: 012345678910 第二列: abbcdabacad

s = pd.Series(list('abbcdabacad'))

# 統(tǒng)計不同的列名

s.unique()

# 統(tǒng)計列名出現(xiàn)的次數(shù)

s.value_counts()

# 判斷第一列是否在列表中

s.isin(['a', 'b', 'c'])

Series索引

# 兩列一列abcde 一列5個隨機數(shù)

s = pd.Series(np.random.rand(5), index=list('abcde'))

# s的列名(第一列),是Index對象

s.index

# 添加一行 alpha

s.index.name = 'alpha'

# 返回所有第一列為'a'的值

s['a']

# 是否有重復(fù)的index

s.index.is_unique

# 返回不重復(fù)index

s.index.unique()

# 按index分組,求出每組和

s.groupby(s.index).sum()

DataFrame

DataFrame 是二維帶行標(biāo)簽和列標(biāo)簽的數(shù)組。可以把 DataFrame 想你成一個 Excel 表格或一個 SQL 數(shù)據(jù)庫的表格,還可以相像成是一個 Series 對象字典。它是 Pandas 里最常用的數(shù)據(jù)結(jié)構(gòu)。

DataFrame創(chuàng)建

df = pd.DataFrame(np.random.randn(4, 6), index=list('ADFH'), columns=['one', 'two', 'three', 'four', 'five', 'six'])

# 添加index 如果該index沒有對應(yīng)值設(shè)為NaN

df2 = df.reindex(index=list('ABCDEFGH'))

# 重新設(shè)置col(行頭)

df.reindex(columns=['one', 'three', 'five', 'seven'])

# 把NaN值設(shè)為默認(rèn)的0

df.reindex(columns=['one', 'three', 'five', 'seven'], fill_value=0)

# fill method 只對行有效

df.reindex(columns=['one', 'three', 'five', 'seven'], method='ffill')

# 重置列index

df.reindex(index=list('ABCDEFGH'), method='ffill')

DataFrame操作

df = pd.DataFrame(np.random.randn(4, 6), index=list('ADFH'), columns=['one', 'two', 'three', 'four', 'five', 'six'])

# 所有index 為'A' col 為'one'的位置的值設(shè)置為100

df.loc['A']['one'] = 100

# 舍棄index 為'A'的行

df.drop('A')

# 舍棄columns 為 'two' 'four'的列

df2 = df.drop(['two', 'four'], axis=1)

# 數(shù)據(jù)拷貝

df.iloc[0, 0] = 100

# 獲取index 為'one'的行

df.loc['one']

DataFrame計算

df = pd.DataFrame(np.arange(12).reshape(4, 3), index=['one', 'two', 'three', 'four'], columns=list('ABC'))

# 每一列作為一個 Series 作為參數(shù)傳遞給 lambda 函數(shù)

df.apply(lambda x: x.max() - x.min())

# 每一行作為一個 Series 作為參數(shù)傳遞給 lambda 函數(shù)

df.apply(lambda x: x.max() - x.min(), axis=1)

# 返回多個值組成的 Series

def min_max(x):鄭州人流多少錢 http://mobile.zyyyzz.com/

return pd.Series([x.min(), x.max()], index=['min', 'max'])

df.apply(min_max, axis=1)

# applymap 逐元素計算 每個值保留2位小數(shù)

formater = '{0:.02f}'.format

df.applymap(formater)

DataFrame列選擇/增加/刪除

df = pd.DataFrame(np.random.randn(6, 4), columns=['one', 'two', 'three', 'four'])

# 第三列 為 第一列 加上 第二列

df['three'] = df['one'] + df['two']

# 添加一個flag列 大于0為True 否則為False

df['flag'] = df['one'] > 0

# 刪除col為'three'的列

del df['three']

# 獲取被刪的

four = df.pop('three')

# 選取col為 five

df['five'] = 5

#

df['one_trunc'] = df['one'][:2]

# 指定插入位置

df.insert(1, 'bar', df['one'])

使用assign() 方法來插入新列

df = pd.DataFrame(np.random.randint(1, 5, (6, 4)), columns=list('ABCD'))

# 新列Ratio 值為 df['A'] / df['B']

df.assign(Ratio = df['A'] / df['B'])

# 新列AB_Ratio CD_Ratio 值為lambda表達式的值

df.assign(AB_Ratio = lambda x: x.A / x.B, CD_Ratio = lambda x: x.C - x.D)

DataFrame排序

df = pd.DataFrame(np.random.randint(1, 10, (4, 3)), index=list('ABCD'), columns=['one', 'two', 'three'])

# 按index 為one 排序

df.sort_values(by='one')

#

s.rank()

DataFrame操作

DataFrame 在進行數(shù)據(jù)計算時,會自動按行和列進行數(shù)據(jù)對齊。最終的計算結(jié)果會合并兩個 DataFrame。

df1 = pd.DataFrame(np.random.randn(10, 4), index=list('abcdefghij'), columns=['A', 'B', 'C', 'D'])

df2 = pd.DataFrame(np.random.randn(7, 3), index=list('cdefghi'), columns=['A', 'B', 'C'])

df1 + df2

df1 - df1.iloc[0]

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:pandas基礎(chǔ)之Series與DataFrame操作-創(chuàng)新互聯(lián)
鏈接URL:http://www.chinadenli.net/article22/dhdocc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站App設(shè)計域名注冊品牌網(wǎng)站設(shè)計外貿(mào)建站定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司