資料重塑,以及長寬資料的相互轉化

2021-08-02 18:16:53 字數 1794 閱讀 2787

good_data_4.head()

out[411]:

province id *** numbers

0 北京市 11 m 318380

1 北京市 11 f 167421

2 北京市 11

25343

3 北京市 11

n115

4 天津市 12 m 216825

good_frame=pd.dataframe(good_data_4.pivot(index='province',columns='***',values='numbers').fillna(0)) # value 是關心的值,columns和index共同鎖定了value的值。

good_frame.head()

out[412]:

*** na f m n

province

上海市 0.0

314555.0

576499.0

186.0

雲南省 4899.0

53330.0

87002.0

0.0內蒙古自治區 15038.0

138461.0

257813.0

0.0北京市 25343.0

167421.0

318380.0

115.0

台灣省 0.0

1260.0

4516.0

0.0

pivot 指定了新的index,如果是分組再應用函式,可使用pivot_table / groupby 。

#建立新的屬性

'北京市':'直轄市',

'天津市':'直轄市',

'上海市':'直轄市',

'重慶市':'直轄市'

}good_data_4['zxs']=good_data_4.province.map(f)

good_data_4.head()

#pivot_table

good_data_4.pivot_table(index='zxs',columns='***',values='numbers',aggfunc=sum)

out[432]:

*** f m n

zxs

直轄市 25343

625445

1151071

301非直轄市 559508

5627190

10761872

2895

#group_by

good_data_4.groupby(['zxs','***']).sum()

out[433]:

numbers

zxs ***

直轄市 25343

f 625445

m 1151071

n 301

非直轄市 559508

f 5627190

m 10761872

n 2895

進製的相互轉化

我們常用的進製包括 二進位制 八進位制 十進位制與十六進製制,它們之間區別在於數運算時是逢幾進一位。十進位制轉二進位制 方法為 十進位制數除2取餘法,即十進位制數除2,餘數為權位上的數,得到的商值繼續除2,依此步驟繼續向下運算直到商為0為止。二進位制轉十進位制 方法為 把二進位制數按權展開 相加即得...

大端小端模式以及相互轉化

大端模式,是指資料的高位元組儲存在記憶體的低位址中,而資料的低位元組儲存在記憶體的高位址中。big endian 小端模式,是指資料的高位元組儲存在記憶體的高位址中,而資料的低位元組儲存在記憶體的低位址。little endian unsigned int value 0x12345678為例 我們...

wchar和char的了解以及相互轉化

今天遇到wchar和char字元轉換的問題,花費了不少的時間。typedef struct tagserialdata serial data,pserial data 這是我定義的結構體 nuwchar是公司自定義的,相當於wchar 但是另外公司的同事把結構體定義成了 struct tagser...