Pandas實(shí)現(xiàn)復(fù)雜Excel的轉(zhuǎn)置合并的示例代碼
一、Pandas實(shí)現(xiàn)復(fù)雜Excel的轉(zhuǎn)置合并

讀取并篩選第一張表
df1 = pd.read_excel("第一個(gè)表.xlsx")
df1

# 刪除無(wú)用列 df1 = df1[['股票代碼', '高數(shù)', '實(shí)際2']].copy() df1

df1.dtypes 股票代碼 int64 高數(shù) float64 實(shí)際2 int64 dtype: object
讀取并處理第二張表
df2 = pd.read_excel("第二個(gè)表.xlsx")
df2

# 將 Unnamed: 0 指定為索引列
df2.set_index('Unnamed: 0', inplace=True)
df2

# 主要用到transpose做橫豎轉(zhuǎn)換,方便處理 df2 = df2.transpose() df2

df2.dtypes Unnamed: 0 股票代碼 object 股票名稱 object 行業(yè) object 天數(shù) object 正負(fù) object 看好 object 出手 object 結(jié)果 object 20210210 object 20210209 object 20210208 object 20210205 object
# 由于第一張表股票代碼是數(shù)字,第二張表object 需要轉(zhuǎn)換為number類型 df2['股票代碼'] = df2['股票代碼'].astype(int) df2
合并數(shù)據(jù)
df_merge = pd.merge(left=df2, right=df1, left_on='股票代碼', right_on='股票代碼') df_merge

重新隊(duì)列排序
# 重新隊(duì)列排序(把list重新變成最終模樣)
columns = list(df_merge.columns)
columns.remove('高數(shù)')
columns.remove('實(shí)際2')
columns.insert(columns.index("結(jié)果"), "高數(shù)")
columns.insert(columns.index("結(jié)果"), "實(shí)際2")
columns
['股票代碼',
'股票名稱',
'行業(yè)',
'天數(shù)',
'正負(fù)',
'看好',
'出手',
'高數(shù)',
'實(shí)際2',
'結(jié)果',
'20210210',
'20210209',
'20210208',
'20210205',
...
]
篩選列,專置數(shù)據(jù)、輸出結(jié)果
df_result = df_merge[columns].transpose()
df_result.to_excel("表一表二合并結(jié)果.xlsx", header=False)
三、其它
import pandas as pd
import random
# 學(xué)生數(shù)量
num_students = 100
# 列表包含所有的科目
subjects = ['語(yǔ)文', '英語(yǔ)', '數(shù)序', '自然', '社會(huì)', '幾何', '代數(shù)', '物理', '化學(xué)']
# 使用列表推導(dǎo)為每個(gè)科目生成隨機(jī)分?jǐn)?shù)
data = {subject: [random.randint(50, 100) for _ in range(num_students)] for subject in subjects}
# 為學(xué)生生成唯一的用戶名
data['用戶名'] = ['student'+str(i) for i in range(1, num_students+1)]
df = pd.DataFrame(data)
print(df)
# 獲取當(dāng)前的列順序
cols = df.columns.tolist()
# 移除'化學(xué)'并將其插入到'英語(yǔ)'后面
cols.remove('化學(xué)')
physical_index = cols.index('英語(yǔ)')
cols.insert(physical_index + 1, '化學(xué)')
# 使用新的列順序重新排序DataFrame
df = df[cols]
print(df)
到此這篇關(guān)于Pandas實(shí)現(xiàn)復(fù)雜Excel的轉(zhuǎn)置合并的示例代碼的文章就介紹到這了,更多相關(guān)Pandas 復(fù)雜Excel的轉(zhuǎn)置合并內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 利用pandas合并多個(gè)excel的方法示例
- Python pandas實(shí)現(xiàn)excel工作表合并功能詳解
- Pandas讀取excel合并單元格的正確方式(openpyxl合并單元格拆分并填充內(nèi)容)
- 利用Python pandas對(duì)Excel進(jìn)行合并的方法示例
- 利用python Pandas實(shí)現(xiàn)批量拆分Excel與合并Excel
- Pandas快速合并多張excel表格的兩種方法
- python使用pandas自動(dòng)化合并Excel文件的實(shí)現(xiàn)方法
- Pandas數(shù)據(jù)分析之批量拆分/合并Excel
- Pandas實(shí)現(xiàn)批量拆分與合并Excel的示例代碼
- Pandas操作兩個(gè)Excel實(shí)現(xiàn)數(shù)據(jù)對(duì)應(yīng)行的合并
相關(guān)文章
實(shí)例講解Python設(shè)計(jì)模式編程之工廠方法模式的使用
這篇文章主要介紹了Python設(shè)計(jì)模式編程之工廠方法模式的運(yùn)用實(shí)例,文中也對(duì)Factory Method模式中涉及到的角色作出了解析,需要的朋友可以參考下2016-03-03
Python實(shí)現(xiàn)合并同一個(gè)文件夾下所有PDF文件的方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)合并同一個(gè)文件夾下所有PDF文件的方法,涉及Python針對(duì)pdf文件的讀取、判斷、解密、寫入合并等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
Python使用eval函數(shù)執(zhí)行動(dòng)態(tài)標(biāo)表達(dá)式過(guò)程詳解
這篇文章主要介紹了Python使用eval函數(shù)執(zhí)行動(dòng)態(tài)標(biāo)表達(dá)式過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-10-10

