关于pandas的 一些操作

1. 删除操作

删除csv文件最后一行

import os
import numpy as np
import pandas as pd
def main():
    df = pd.read_csv('filename' ,encoding='gb2312')
    df.drop(df.index[[-1]],inplace=True)
    df.to_csv('filename', encoding='gb2312',index = False)
    print(df)

2. 遍历文件夹所有文件

import os
import numpy as np
import pandas as pd

def main():   
    for roots,dirs,files in os.walk("path"): #从os位置开始 
        for filename in files:          
          print(filename)
if __name__ == '__main__':
    main()

3. pandas索取指定的行列

df.iat[-1,5] #最后一行第五列
df.iloc[:,7] #df第七列

4. df补充列

import os
#import numpy as np
import pandas as pd
import time
m ={'1':'Jan',
'2':'Feb',
'3':'Mar',
'4':'Apr',
'5':'May' ,
'6':'Jun' ,
'7':'Jul' ,
'8':'Aug',
'9':'Sep',
'10':'Oct',
'11':'Nov',
'12':'Dec'}
def main():
    for ie in ["imports"]:
        years = ["2009", "2011"]
        for year in years:
            print(year)
            for roots,dirs,files in os.walk('india/'+ie+'/'+year+'/'):
                for filename in files:
                    if filename.split('--')[-1] == 'final.csv':
                        df = pd.read_csv('india/'+ie+'/'+year+'/' + filename, encoding='gb2312')
                        df["Month"] = str(filename.split('--')[3])
                        s = str(filename.split('--')[3])
                        y = str(filename.split('--')[2])
                        y_1 =str(int(filename.split('--')[2])-1)
                        df["Year"] =  str(filename.split('--')[2])
                        df=df[['S.No.', 'Year','Month', 'COUNTRY', 'HSCode-金额表编码', 'HSCode-数量表', m[s]+' '+y_1+'-金额百万美元',m[s]+' '+y+'-金额百万美元', m[s]+' '+y_1+'数量', m[s]+' '+y+'数量', 'Unit (1000‘)']]
                        df.to_csv('india/'+ie+'/'+year+'/' +filename, encoding='gb2312',index = False)

                    else:
                        df = pd.read_csv('india/'+ie+'/'+year+'/' + filename, encoding='gb2312',skiprows=1)
                        s = str(filename.split('--')[3].split(".")[0])
                        y = str(filename.split('--')[2])
                        y_1 =str(int(filename.split('--')[2])-1)
                        df["Month"] = str(filename.split('--')[3].split(".")[0])
                        df["Year"] =  str(filename.split('--')[2])

                        df=df[['S.No.', 'Year', 'Month', 'HSCode', 'Commodity', m[s]+' '+y_1, m[s]+' '+y, '%Growth',
                               'Jan-'+m[s]+' '+y_1, 'Jan-'+m[s]+' '+y, '%Growth.1']]
                        df.to_csv('india/'+ie+'/'+year+'/' +filename, encoding='gb2312',index = False)
                print("ok!!!!!!!!!!!!!!!")

if __name__ == '__main__':
    main()

猜你喜欢

转载自blog.csdn.net/qq_42717902/article/details/82621230
今日推荐