????????一次任務扛点,老大要求我將數(shù)據(jù)里面的想要的幾列抽取出來繪制成一個新的表格給他。之前么有接觸過pandas想著基本的python庫應該可以實現(xiàn)csv文件的列讀取吧岂丘,頭鐵秉著僅通過import csv來實現(xiàn)按照列讀取的思維方式陵究,從下午五點一直修改到晚上十點后面老大實在催的急了放棄了老老實實花了半個小時用行讀寫來實現(xiàn)。
? ? ? ? 第二天越想越不服奥帘,這么方便的一個編程軟件在列讀寫上怎么可能沒有一條簡單的出路畔乙,在翻閱了大部分前輩的筆記之后發(fā)現(xiàn)其實導入一個簡單的pandas庫就可以實現(xiàn)了。然后花了一早上將一些暫時用的上的功能整理了一下翩概,興致勃勃的將昨晚的那個腳本又寫了一邊發(fā)給老大,然后老大回復:這里的電腦沒有pandas模塊返咱,以后盡量少用= =钥庇。
? ? ? ? 奈何我頭鐵:
from pandas import DataFrame,Series
import pandas as pd
'''
CSV讀寫
import pandas as pd
from pandas import Series,DataFrame
df=pd.read_csv('c.csv')
print df
df.to_csv('d.csv',index=False,header=True) #col=['','',''] 寫入哪幾列
'''
df1=DataFrame({'key':['b','b','a','c','a','a','b'],
????????????????????????????????'data1':range(7)})
df2=DataFrame({'key':['a','b','d'],
????????????????????????????????'data2':range(3)})
print df1
print df2
#對多個匹配on=['','','']
print pd.merge(df1,df2,on='key') #將df1跟df2根據(jù)key拼接起來,行數(shù)為交集,‘c'的數(shù)據(jù)消失咖摹,默認為inner
print pd.merge(df1,df2,on='key',how='outer')#并集评姨,對不上的顯示NaN,行數(shù)等于兩者并集
print pd.merge(df1,df2,on='key',how='left')#以左邊為主萤晴,左邊多少行輸出多少吐句,右邊對應沒有為NaN
print pd.merge(df1,df2,on='key',how='right')#以右邊為主,右邊多少行輸出多少店读,左邊對應沒有為NaN嗦枢,順序不變
print pd.merge(df1,df2,on='key',how='inner') #將df1跟df2根據(jù)key拼接起來,行數(shù)為交集,‘c'的數(shù)據(jù)消失
df3=DataFrame({'key':['b','b','a','c','a','a','b'],
'data':range(7)})
df4=DataFrame({'key':['a','b','d'],
'data':range(3)})
print pd.merge(df3,df4,on='key',how='outer',suffixes=('_left','_right')) #名字重復的數(shù)據(jù)用suffixes在名字后面加點東西
#其中merge中的參數(shù):
#left_on='(左邊用作連接鍵的列)'
#right_on='(右邊用作連接鍵的列)'
#left_index=True 左邊行索引當作連接鍵的列
#right_index=True 右邊行索引當作連接鍵的列
#當多個列表進行連接的時候
df1.join([df2,df3],how='outer',on='key')