第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

將Excel兩列標(biāo)題從列轉(zhuǎn)換為行數(shù)據(jù)框python

將Excel兩列標(biāo)題從列轉(zhuǎn)換為行數(shù)據(jù)框python

qq_笑_17 2023-09-05 19:48:19
我有一個(gè)代碼可以將帶有兩個(gè)標(biāo)題的數(shù)據(jù)的 Excel 文件轉(zhuǎn)換為數(shù)據(jù)幀。不知何故,我的代碼沒有達(dá)到我的預(yù)期:import pandas as pddf = pd.read_excel('excel_file.xlsx', sheet_name='Class', header=None, names= header_names, skiprows=2)不知怎的,我收到了一個(gè)奇怪的輸出:NaN NaN NaT        NaN      NaN NaT                       3  NaN NaT   2015-06-30        4  NaNETC。我不知道我做錯(cuò)了什么。我的 Excel 文件的結(jié)構(gòu)如下,但包含更多列。A                   B                   C   math                biology             physics                             01.06.2015  3       01.06.2015  3       01.06.2015  330.06.2016  4       30.06.2016  4       30.06.2016  415.06.2017  1       15.06.2017  3       15.06.2017  320.06.2018  3       20.06.2018  2       20.06.2018  515.06.2019  2       15.06.2019  3       15.06.2019  2預(yù)期的數(shù)據(jù)幀輸出應(yīng)該是這樣的:date        grade   course  group01.06.2015  3       math    A30.06.2016  4       math    A15.06.2017  1       math    A20.06.2018  3       math    A15.06.2019  2       math    A01.06.2015  3       biology B30.06.2016  4       biology B15.06.2017  3       biology B20.06.2018  2       biology B15.06.2019  3       biology B01.06.2015  3       physics C30.06.2016  4       physics C15.06.2017  3       physics C20.06.2018  5       physics C15.06.2019  2       physics C
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

僅通過讀取這些數(shù)據(jù),您將無法獲得所顯示的輸出。此外,您還可以跳過包含課程和小組信息的 2 行。我要做的是:


import pandas as pd

df = pd.read_excel('stack.xlsx',header=None, skiprows=3)


df = pd.DataFrame(df)


0   1   2   3   4   5

0   01.06.2015  3   01.06.2015  3   01.06.2015  3

現(xiàn)在,更改列的名稱


df.columns=['math A','grade A', 'Bio B','grade B','physic C', 'grade C']



math A  grade A Bio B   grade B physic C    grade C

0   01.06.2015  3   01.06.2015  3   01.06.2015  3

之后,您可以迭代這些行并使用您想要的輸出創(chuàng)建一個(gè)新的數(shù)據(jù)框:)


像這樣的3個(gè)循環(huán),你會(huì)得到你想要的,只要記住你不能用i = 0初始化,但i你將開始下一個(gè)循環(huán),是你完成上一個(gè)循環(huán)的i


df_wanted = pd.DataFrame(columns=['date','grade','course','group'])

i = 0

for index,row in df[['math A','grade A']].iterrows():

    df_wanted.loc[i,'date'] = row[0]

    df_wanted.loc[i,'grade'] = row[1]

    df_wanted.loc[i,'course'] = 'math'

    df_wanted.loc[i,'group'] = 'A'

    i+=1


date    grade   course  group

0   01.06.2015  3   math    A


查看完整回答
反對 回復(fù) 2023-09-05
  • 1 回答
  • 0 關(guān)注
  • 192 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)