learn pandas基礎(chǔ)操作

整理的這些東動(dòng)為的是讓自己加深印象,就像一本字典一樣可以隨時(shí)查閱吧。沒別的意思



df.isnull()?? 輸出的是布爾值

df.isnull().sum()? 每一列的空值的數(shù)量加總 ? ? 相當(dāng)于? df.count()

df.isnull().sum().sum()?? 全部的數(shù)據(jù)的空值數(shù)量

df.notnull()??? 輸出的也是布爾值,,和最上面的那個(gè)相反

dropping missing???? 丟掉缺失值

df.c4[df.c4.notnull()]? ? 選擇c4列的非空值? df.c4.dropna()?? 效果一樣 但原數(shù)組不改變,只復(fù)制一份值

df.dropna(how = 'all')? ? ? ? ? df.dropna(how='all', axis=1)??? 默認(rèn)是對(duì)行進(jìn)行操作

df2.dropna(how='any', axis=1)

df.dropna(thresh=5, axis=1)? 設(shè)定刪除的閾值? Na Ns don't count as an item in calculating

Filling in missing data?? 填充缺失值???????????????? 空值不再計(jì)算內(nèi)容的范圍里面

filled = df.fillna(0)???????? 用0填充所有缺失值

df.fillna(0, limit=2)???? 填充前面2個(gè)

df.c4.fillna(method="ffill")? 向前填充, 最后一個(gè)為空值

? pd.ffill() and pd.bfill() ? 和前面等價(jià)

fill_values = pd.Series([100, 101, 102], index=['a', 'e', 'g'])

df.c4.fillna(fill_values)??? 用標(biāo)簽填充

df.fillna(df.mean())?????????? 均值填充

s = pd.Series([1, np.nan, np.nan, np.nan, 2])

s.interpolate()? 線性插入支??????? 如(2.0 – 1.0)/(5-1) = 0.25

ts.interpolate(method="time")? ? s.interpolate(method="values")??? 也一樣

Handling duplicate data???????? 處理重復(fù)的數(shù)據(jù)

data.duplicated()?????????????????? 返回的是布爾值。是否是重復(fù)數(shù)據(jù)

data.drop_duplicates()????????? 留的是每行的第一個(gè)重復(fù)值

data.drop_duplicates(take_last=True)??? 留的是最后一個(gè)

data.drop_duplicates(['a', 'b'])?? 對(duì)特定的列篩選

Transforming Data???????? 數(shù)據(jù)轉(zhuǎn)換

x.map(y)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 映射? ? ? ? ??

s.replace(2, 5)????? 在Series中表示標(biāo)簽為2的值? 替換? 為5

s.replace({0: 10, 1: 100})??????? 用字典替換

df.replace({'a': 1, 'b': 8}, 100)?? 在DataFrame中,表示a中的1,b列中的8 替換為100

s = pd.Series(np.arange(0, 5))???? s.apply(lambda v: v * 2)

df.apply(lambda col: col.sum())??? 計(jì)算每列的和

df.apply(lambda row: row.sum(), axis=1)???? 同理 行

df['interim'] = df.apply(lambda r: r.a * r.b, axis=1)???? 新列 并創(chuàng)建值

df['result'] = df.apply(lambda r: r.interim + r.c, axis=1)

df.a = df.a + df.b + df.c? 不創(chuàng)建新列,在原列的基礎(chǔ)上增加數(shù)學(xué)操作運(yùn)算

df.dropna().apply(lambda x: x.sum(), axis=1)? 除空值外的行的和

??? use applymap to format all items of the Data Frame

df.applymap(lambda x: '%.2f' % x) ? 整個(gè)數(shù)據(jù)都轉(zhuǎn)化為保留2位小數(shù)的浮點(diǎn)數(shù) 對(duì)整體操作

Combining and Reshaping?? 合并與重組

pd.concat(objs, axis=0,join='outer', join_axes=None, ignore_index=False,? ? ? keys=None, levels=None, names=None, verify_integrity=False) 所有參數(shù)

pd.concat([df1, df2])?? 注意索引是源數(shù)列的? 沒有合并

c = pd.concat([df1, df2], keys=['df1', 'df2'])???? 指定屬于哪張表

pd.concat([df1, df2], axis=1)??? 縱向合并? axis指定軸向

pd.concat([df1, df3], axis=1)

pd.concat([df1, df3], axis=1, join='inner')?

Pivoting???? 視圖

加上join參數(shù)的屬性,如果為’inner’得到的是兩表的交集,如果是outer,得到的是兩表的并集。In[28]: pieces = {'x': df1,'y': df2,'z': df3}

In[29]: result = pd.concat(pieces)?? 傳入字典增加分組建

df1.append(df2, ignore_index=True)

sensor_readings[sensor_readings['axis'] == 'X']?? 只選擇一列的某值顯示





和透視的功能差不多,不過(guò)只是透視的一部分,stack表示把列變?yōu)樗饕?,另外一個(gè)相反

df = pd.Data Frame({'a': [1, 2]}, index={'one', 'two'})

stacked1 = df.stack()

Grouping and Aggregating? Data 這個(gè)知道有用,但還沒用過(guò)過(guò)

The split, apply, and combine (SAC)?? pattern ? 分,聚? 和

grouped = sensors.groupby('sensor')?? 返回一個(gè)DataFrame? 不返回值


grouped.size()? ? ? grouped.count()? ? grouped.get_group('accel')

mcg = sensors.groupby(['sensor', 'axis'])???? 兩列同時(shí)操作

print_groups(mcg)? ?????? mcg.describe() ?? 不同類別的描述

mig_l12.agg(np.mean)??? 求均值,分組后的

sensors.groupby(['sensor', 'axis'],as_index=False).agg(np.mean)

grouped.transform(lambda x: x + 10)

filled_Na Ns = grouped.transform(lambda x: x.fillna(x.mean()))


f = lambda x: x.Values.count() > 1

df.groupby('Label').filter(f) ?? 必須指定列

f = lambda x: x.Values.isnull().sum() == 0

df.groupby('Label').filter(f) ? 意思都懂的? 就是字面意思

f = lambda x: x.Values.count() > 1

df.groupby('Label').filter(f, dropna=False)

bins = pd.cut(dist, 5)??? 切分?jǐn)?shù)據(jù)

pd.cut(dist, 5, right=False).categories

ranges = [6, 12, 18, 35, 50]

agebins = pd.cut(ages, ranges)

agebins.describe()

qbin = pd.qcut(dist, 5)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容