最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pandas使用之寬表變窄表的實(shí)現(xiàn)

 更新時(shí)間:2020年04月12日 10:20:56   作者:爾莎  
這篇文章主要介紹了pandas使用之寬表變窄表的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,還是直接看代碼吧!

import pandas as pd
# 偽造一些數(shù)據(jù)
fake_data = {'subject':['math', 'english'],
      'A': [88, 90],
      'B': [70, 80],
      'C': [60, 78]}

# 寬表
test = pd.DataFrame(fake_data, columns=['subject', 'A', 'B', 'C'])
test
	subject	A	B	C
0	math	88	70	60
1	english	90	80	78

# 轉(zhuǎn)換為窄表
pd.melt(test, id_vars=['subject'])

subject	variable	value
0	math	A	88
1	english	A	90
2	math	B	70
3	english	B	80
4	math	C	60
5	english	C	78

補(bǔ)充知識(shí):pandas從單條目數(shù)據(jù)集生成寬表

需求

場景

從醫(yī)院數(shù)據(jù)庫中導(dǎo)出了大量的體檢數(shù)據(jù),但體檢數(shù)據(jù)表中,每一行代表某人某次體檢的某一項(xiàng)體檢的結(jié)果。目的想將每一個(gè)人的每一次體檢結(jié)果作為一行存儲(chǔ),每一列為體檢項(xiàng)。

示例

StuID Type Num
0 111021 Math 89
1 111021 English 93
2 312983 English 91
3 314621 English 82
4 314621 Math 92
5 112341 Math 82

目的:轉(zhuǎn)換成如下表格

StuID English Math
0 111021 93 89
1 312983 91 NaN
2 314621 82 92
3 112341 NaN 82

方案一

具體代碼如下

#將'B'列的類別調(diào)整為行。
#1
num = df[~df.duplicated(subset=['StuID'])].loc[:,'StuID'].to_list()
#2
result_df = pd.DataFrame({'StuID': np.array(num)},columns=['StuID','English','Math'])
#3
for i in df.index:
  t = df.loc[i,'Type']
  num = df.loc[i,'StuID']
  result_df.loc[result_df['StuID'] == num,[t]] = df.loc[i,'Num']
print(result_df)

結(jié)果

以上這篇pandas使用之寬表變窄表的實(shí)現(xiàn)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

鹤壁市| 汝城县| 古蔺县| 沙洋县| 耿马| 龙泉市| 理塘县| 江川县| 富锦市| 巴塘县| 西丰县| 宁安市| 敦化市| 富裕县| 兴隆县| 长沙县| 泰安市| 营口市| 綦江县| 金乡县| 疏附县| 霞浦县| 志丹县| 贵港市| 巢湖市| 临澧县| 林甸县| 永春县| 略阳县| 辛集市| 新田县| 英德市| 巨鹿县| 定安县| 东方市| 策勒县| 淄博市| 云龙县| 白山市| 大城县| 沈丘县|