1. 程式人生 > >利用Python資料分析:資料規整化(三)

利用Python資料分析:資料規整化(三)

a = Series([np.nan,2.5,np.nan,3.5,4.5,np.nan],
           index=['f','e','d','c','b','a'])
b = Series(np.arange(len(a),dtype=np.float64),
           index=['f','e','d','c','b','a'])
b[-1] = np.nan
a
b
np.where(pd.isnull(a),b,a) # 兩個資料集進行合併,(索引或者是部分重疊)
b[:-2].combine_first(a[2:]) # 和上面實現同一個功能但是會進行自動的資料對齊
df1 = DataFrame({'a':[1,np.nan,5,np.nan],
                 'b':[np.nan,2,np.nan,6],
                 'c':range(2,18,4)})
df2 = DataFrame({'a':[5,4,np.nan,3,7],
                 'b':[np.nan,3,4,6,8]})
df1.combine_first(df2)
#  重塑和軸向旋轉
data = DataFrame(np.arange(6).reshape((2,3)),
                 index=pd.Index(['Ohio','Colorado'],name = 'state'),
                 columns=pd.Index(['one','two','three'],name = 'number'))
data # stack 將列旋轉為行, unstack的行旋轉為列
"""
number    one  two  three
state
Ohio        0    1      2
Colorado    3    4      5
"""
result = data.stack()
result
result.unstack()
"""number    one  two  three
state
Ohio        0    1      2
Colorado    3    4      5
"""
result.unstack(0) # unstack是最內層(stack)傳入分層級別的編號名稱
result.unstack('state') # 傳入的是名稱
"""
state   Ohio  Colorado
number
one        0         3
two        1         4
three      2         5
"""
s1 = Series([0,1,2,3],index=['a','b','c','d'])
s2 = Series([4,5,6],index=['c','d','e'])
data2 = pd.concat([s1,s2],keys=['one','two'])
data2
"""
one  a    0
     b    1
     c    2
     d    3
two  c    4
     d    5
     e    6
"""
data2.unstack() # 如果不是所有的級別值都能在各個分組中找到的話,UNstack操作可能會引入缺失資料
data2.unstack().stack() # stack預設會過濾掉缺失值
data2.unstack().stack(dropna=False) # 可以指定缺失值不被過濾
df = DataFrame({'left':result,'right':result+5},
               columns=pd.Index(['left','right'],name = 'side'))
df
df.unstack('state') # 在對DataFrame進行操作的時候作為旋轉軸的級別將會成為結果中最低的
df.unstack('state').stack('side')


相關推薦

利用Python資料分析資料規整四)

# 移除重複項 data = DataFrame({'k1':['one'] * 3 +['two'] * 4, 'k2':[1,1,2,3,3,4,4]}) data data.duplicated() # 返回一個布林型別的Serie

利用Python資料分析資料規整五)

import pandas as pd from pandas import Series,DataFrame import numpy as np import re # 計算指標/啞變數(dummy) df = DataFrame({'key':['b','b','a

利用Python資料分析資料規整)

a = Series([np.nan,2.5,np.nan,3.5,4.5,np.nan], index=['f','e','d','c','b','a']) b = Series(np.arange(len(a),dtype=np.float64),

利用Python資料分析資料載入、儲存與檔案格式一)

import pandas as pd from pandas import DataFrame,Series import sys import numpy as np df = pd.read_csv('E:\Python for Data Analysis\pydat

python資料分析關聯規則學習Association rule learning)

何為關聯規則學習 關聯規則學習是一種基於規則的機器學習方法,用於發現大型資料庫中變數之間的有趣關係。它旨在使用一些有趣的度量來識別在資料庫中發現的強規則。這種基於規則的方法在分析更多資料時也會生成新規則。假設資料集足夠大,最終目標是幫助機器模擬人類大腦的特徵提取和新未分類資料的抽象關

python資料分析內容資料化運營下)——基於多項式貝葉斯增量學習分類文字

案例背景及資料 見上一篇 案例實現 匯入模組 import re import tarfile import os import numpy as np from bs4 import BeautifulSoup from sklearn.feature_extracti

python資料分析內容資料化運營中)——基於潛在狄利克雷分配LDA)的內容主體挖掘

案例背景 本案例是從一堆新聞檔案中建立相應的主題模型,然後得到不同模型的主題特點,並通過對新文字資料集的預測得到其可能的主題分類。 相關知識 TF-IDF TF-IDF(term frequency–inverse document frequency)是一種針對關鍵字的

python資料分析內容資料化運營上)——知識點

何為資料化運營 內容運營是指基於內容的策劃、編輯、釋出、優化、營銷等一系列工作,主要集中在網際網路、媒體等以內容為主的行業領域。內容運營根據內容生產方式的不同可分為UGC、PGC和OGC三種。 UGC(User-generated Content),使用者生產內容。這是論

python資料分析流量資料化運營下)——基於自動K值得KMeans廣告效果聚類分析

案例背景 某企業由於投放的廣告渠道比較多,需要對其做廣告效果分析以實現有針對性的廣告效果測量和優化工作。跟以應用為目的的案例不同的是,由於本案例是一個分析型案例,該過程的輸出其實是不固定的,因此需要跟業務運營方具體溝通需求。 以下是在開展研究之前的基本預設條件: 廣告渠道

python資料分析流量資料化運營中)——流量資料波動原因下探分析

從細分到多層下鑽資料分析 細分是網站分析的基本方法,也是資料分析的基本思路。細分分析的過程是對整體資料進行層層拆分,然後找到影響整體的區域性因素。 步驟1:全站流量按來源模組可細分為廣告、SEM、SEO和直接輸入(假設只有4個模組)。細分發現廣告是網站流量的主要來源(昨日訪問量佔比

python資料分析流量資料化運營上)——知識點

流量資料化運營 流量值從數字裝置上訪問企業的網站、app應用、智慧裝置的使用者行為,它主要包括使用者從哪裡來,在企業相關載體上有哪些行為、產生了哪些轉化等。 媒體資訊時代,使用者行為移動化、需求個性化的複雜背景下,企業想要獲得使用者關注愈發困難。並且隨著營銷成本的增加,企業流量能夠更

python資料分析商品資料化運營下)——基於投票組合模型的異常檢測

本案例用到的主要技術包括: 基本預處理:使用DictVectorizer將字串分類變數轉換為數值型變數、使用SMOTE對不均衡樣本做過抽樣處理。 資料建模:基於cross_val_score的交叉檢驗、基於LogisticRegression、RandomForest、

python資料分析商品資料化運營中)——基於引數優化的Gradient Boosting的銷售預測

本案例需要使用超引數交叉檢驗和優化方法GridSearchCV以及整合迴歸方法GradientBoostingRegressor GridSearchCV與GradientBoostingRegressor GridSearchCV GridSearchCV用於系統地遍歷多種

python資料分析商品資料化運營上)——知識點

商品資料運營指標 銷售類指標 訂單量/商品銷售量 訂單量指使用者提交訂單的數量,計算邏輯去重後的訂單ID的數量。 商品銷售量又稱銷售件數,指銷售商品的數量。 訂單金額/商品銷售金額 訂單金額為使用者提

python資料分析會員資料化運營中)——RMF分析

何為RFM模型分析 RFM模型是衡量客戶價值和客戶創利能力的重要工具和手段。在眾多的客戶關係管理(CRM)的分析模式中,RFM模型是被廣泛提到的。該機械模型通過一個客戶的近期購買行為、購買的總體頻率以及花了多少錢3項指標來描述該客戶的價值狀況。 RFM的含義: R(R

python資料分析會員資料化運營上)——知識點

會員資料化運營解決問題: 會員的生命週期狀態是什麼; 會員的核心訴求是什麼; 會員的轉化習慣和路徑是什麼; 會員的價值如何; 如何擴大市場覆蓋、獲得更多的新會員; 如何更好地維繫老會員; 應該在什麼時間、採取何種措施、針對哪些會員做哪些運營

python資料分析之numpy初始一)

以下都用numpy的標準“import numpy as np” 1.numpy是同構資料多維容器,同構即資料型別相同 2.初始化: 2.1np.arange([start,] end [, step

python資料分析pandas包入門學習)彙總和統計描述

本文參考《利用Python進行資料分析》的第五章 pandas入門 pandas擁有一組常用的數學和統計方法。它們大部分屬於約簡和彙總統計,用於從Series中提取單個值(如sum和mean),或從DataFrame的行或列中提取一個Series。跟對應的Numpy陣列

曹政談資料分析資料分析這點事

先宣告一下,按照傳統的定義,我還真不是資料分析高手,各種關聯演算法,只會最簡單的一種(話說不少場合還算管用);各種挖掘技術,基本上一竅不通;各種牛逼的資料分析工具,除了最簡單的幾個免費統計平臺之外,基本上一個都不會用。所以,各種高手高高手請隨意BS,或自行忽略。這裡說點

資料結構篇二叉樹根據中序和後序遍歷結果推算出完整二叉樹)

我們先理解一下前中後序遍歷,這是基礎。 //前序遍歷 void Tree::PreOrderTraverse(BiTree *T) { if(!T) { return ; } else { cout<<T->data<<" "; PreOrder