亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pandas如何實現寬表變窄表

發布時間:2020-08-04 11:05:12 來源:億速云 閱讀:203 作者:小豬 欄目:開發技術

小編這次要給大家分享的是pandas如何實現寬表變窄表,文章內容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。

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

import pandas as pd
# 偽造一些數據
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從單條目數據集生成寬表

需求

場景

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

示例

StuIDTypeNum
0111021Math89
1111021English93
2312983English91
3314621English82
4314621Math92
5112341Math82

目的:轉換成如下表格

StuIDEnglishMath
01110219389
131298391NaN
23146218292
3112341NaN82

方案一

pandas如何實現寬表變窄表

具體代碼如下

#將'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如何實現寬表變窄表

看完這篇關于pandas如何實現寬表變窄表的文章,如果覺得文章內容寫得不錯的話,可以把它分享出去給更多人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海丰县| 井研县| 门头沟区| 阿勒泰市| 林西县| 林甸县| 兴城市| 大同县| 舒兰市| 宁武县| 苗栗县| 刚察县| 黄梅县| 芜湖县| 堆龙德庆县| 龙门县| 高淳县| 射洪县| 鸡东县| 西华县| 衡水市| 西林县| 通道| 昔阳县| 德安县| 潼关县| 鲜城| 社会| 定西市| 神木县| 紫金县| 城口县| 高安市| 嵊泗县| 宁波市| 柏乡县| 普洱| 彭山县| 建湖县| 凉城县| 中西区|