附加/创建带有循环的新df

时间:2018-12-13 19:36:07

标签: python pandas

你们昨天帮了我很多忙,我能够用py而不是excel来完成任务。但是,我编写的代码绝对是垃圾。

100列。 A:A.19,B:B:19-一直到E:E.19。

我想将所有A附加到E的一列。

这是我写的代码:

import pandas as pd
import numpy as np 
import xlsxwriter


df = pd.read_excel("C:\\Users\\Documents\\NEM\\Northend 
Manufacturing_deletecol2.xlsx")

df = df.rename(columns={'A.1': 'A', 'A.2': 'A','A.3': 'A','A.4': 'A', 'A.5': 
                    'A','A.6': 'A','A.7': 'A', 'A.8': 'A','A.9': 'A','A.10': 
                    'A', 'A.11': 'A','A.12': 'A','A.13': 'A', 'A.14': 
                    'A','A.15': 'A','A.16': 'A', 'A.17': 'A','A.18': 
                    'A','A.19': 'a', 
                    'B.1': 'B', 'B.2': 'B','B.3': 'B','B.4': 'B', 'B.5': 
                    'B','B.6': 'B','B.7': 'B', 'B.8': 'B','B.9': 'B','B.10': 
                    'B', 'B.11': 'B','B.12': 'B','B.13': 'B', 'B.14': 
                    'B','B.15': 'B','B.16': 'B', 'B.17': 'B','B.18': 
                    'B','B.19': 'B',
                    'C.1': 'C', 'C.2': 'C','C.3': 'C','C.4': 'C', 'C.5': 
                    'C','C.6': 'C','C.7': 'C', 'C.8': 'C','C.9': 'C','C.10': 
                    'C', 'C.11': 'C','C.12': 'C','C.13': 'C', 'C.14': 
                    'C','C.15': 'C','C.16': 'C', 'C.17': 'C','C.18': 
                    'C','C.19': 'C',
                    'D.1': 'D', 'D.2': 'D','D.3': 'D','D.4': 'D', 'D.5': 
                    'D','D.6': 'D','D.7': 'D', 'D.8': 'D','D.9': 'D','D.10': 
                    'D', 'D.11': 'D','D.12': 'D','D.13': 'D', 'D.14': 
                    'D','D.15': 'D','D.16': 'D', 'D.17': 'D','D.18': 
                    'D','D.19': 'D',
                    'E.1': 'E', 'E.2': 'E','E.3': 'E','E.4': 'E', 'E.5': 
                    'E','E.6': 'E','E.7': 'E', 'E.8': 'E','E.9': 'E','E.10': 
                    'E', 'E.11': 'E','E.12': 'E','E.13': 'E', 'E.14': 
                    'E','E.15': 'E','E.16': 'E', 'E.17': 'E','E.18': 
                    'E','E.19': 'E'})

df1 = df.iloc[:, :5]
df2 = df.iloc[:,5:10]
df3 = df.iloc[:,10:15]
df4 = df.iloc[:,15:20]
df5 = df.iloc[:,20:25]
df6 = df.iloc[:,25:30]
df7 = df.iloc[:,30:35]
df8 = df.iloc[:,35:40]
df9 = df.iloc[:,40:45]
df10 = df.iloc[:,45:50]
df11 = df.iloc[:,50:55]
df12 = df.iloc[:,55:60]
df13 = df.iloc[:,60:65]
df14 = df.iloc[:,65:70]
df15 = df.iloc[:,70:75]
df16 = df.iloc[:,75:80]
df17 = df.iloc[:,80:85]
df18 = df.iloc[:,85:90]
df19 = df.iloc[:,90:95]
df20 = df.iloc[:,95:99]

df_final= pd.concat([df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,

df11,df12,df13,df14,df15,df16,df17,df18,df19,df20]).reset_index(drop=True)

print(df_final)

这行得通,但是我觉得自己很傻,并且知道有一种方法可以解决这个问题,而不是调用每个数据框来绘制前5个变量。

关于如何使它变得更好的任何想法?

0 个答案:

没有答案