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

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

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

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

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

# 轉換為窄表
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

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

需求

場景

從醫(yī)院數(shù)據(jù)庫中導出了大量的體檢數(shù)據(jù),但體檢數(shù)據(jù)表中,每一行代表某人某次體檢的某一項體檢的結果。目的想將每一個人的每一次體檢結果作為一行存儲,每一列為體檢項。

示例

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

目的:轉換成如下表格

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

方案一

具體代碼如下

#將'B'列的類別調整為行。
#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)

結果

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

相關文章

最新評論

时尚| 武清区| 二连浩特市| 南通市| 高陵县| 永川市| 航空| 神池县| 尚志市| 元谋县| 南充市| 工布江达县| 兴国县| 固镇县| 广河县| 夏河县| 大邑县| 拜泉县| 和田市| 北流市| 康定县| 唐海县| 合川市| 东乡族自治县| 依兰县| 旺苍县| 怀柔区| 天长市| 萨迦县| 大港区| 吴江市| 新龙县| 堆龙德庆县| 禹州市| 神池县| 南汇区| 武义县| 弋阳县| 乐陵市| 罗平县| 安陆市|