91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

新绛县| 梧州市| 孝感市| 眉山市| 塘沽区| 遵义县| 慈溪市| 和田市| 慈利县| 鸡泽县| 贞丰县| 汾西县| 武汉市| 碌曲县| 乐平市| 清涧县| 黔西| 盖州市| 长葛市| 革吉县| 峨山| 三河市| 嘉鱼县| 文昌市| 泸水县| 札达县| 陕西省| 洞口县| 利津县| 惠安县| 修水县| 西贡区| 通江县| 集贤县| 舟曲县| 平潭县| 海兴县| 民权县| 道真| 沛县| 雅江县|