Re: [問題]pandas的操作問題

看板Python作者 (精算業小卒)時間10年前 (2015/07/09 22:54), 10年前編輯推噓3(3010)
留言13則, 2人參與, 最新討論串2/2 (看更多)
其實用不到csv, 你的資料檔一樣可由pandas讀入: df = pd.read_csv('tttest1112.csv') dat = pd.read_csv('bird-1.csv') 把多餘的括號移除: # remove parenthesis f = lambda s: s.split('(')[0] df['birdName'] = df['birdName'].map(f) 執行篩選並存擋: for birdname in df['birdName']: savepath = 'your/file/path/' + birdname + '.csv' dat[dat['birdName']==birdname].to_csv(savepath) ※ 引述《allen511081 (藍)》之銘言: : 抱歉,題目無法詳述我的問題,先將我的程式碼貼上 : # -*- coding: utf-8 -*- : import pandas as pd : import csv : df = pd.read_csv('birds-1.csv',low_memory=False) : dfs=[] : names=[] : with open('tttest1112.csv','rb') as csvfile: : records = csv.reader((line.replace('\0','') for line in csvfile), : delimiter=",") : for row in records: ##將原始資料存入 : for i in xrange(1,6,1): : df2=df[df['birdName'].isin(row)] : df2.to_csv('./'+str(i)+'.csv',index=False) : 最近我重新開始我的資料剖析,在pandas這邊遇到一樣存檔問題, : 而這次比較不一樣的是,我一個tttest1112.CSV測試檔裡放鳥名, : 附圖:https://goo.gl/zxLWk7 : 我要從這個CSV裏頭, : 將鳥名傳到上面的isin()後,對原始資料(df)做特定值的選取, : https://goo.gl/dQKKuH : 之後再存成新的CSV檔,而這樣的語法寫完後,可以產生5個CSV檔, : 但是裡面的資料都會是最後一個鳥名的資料(我記得DF好像只會存最後一筆的資料?), : 請問對於DF的操作有沒有辦法讓五種鳥的資料分別存一個CSV檔? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.231.113.106 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1436453659.A.A37.html

07/10 12:38, , 1F
感謝前輩的解答,自己想的太複雜了
07/10 12:38, 1F

07/10 12:39, , 2F
不過現在會出錯在df['birdName'].map(f),因為我是
07/10 12:39, 2F

07/10 12:40, , 3F
要用tttest1112裡的名字去原始資料裡搜尋,但是這個
07/10 12:40, 3F

07/10 12:41, , 4F
檔案好像有一些奇怪的字元,我不太會處理,還請前輩
07/10 12:41, 4F

07/10 12:41, , 5F
指導一下
07/10 12:41, 5F

07/10 12:42, , 6F
錯誤訊息:KeyError: 'birdName'
07/10 12:42, 6F

07/10 18:07, , 7F
因為我沒有csv檔案,所以無法重現你的錯誤訊息
07/10 18:07, 7F

07/10 18:45, , 8F
抱歉,附上下載連結,birds-1:https://goo.gl/2B6ym3
07/10 18:45, 8F

07/10 18:46, , 9F
07/10 18:46, 9F

07/10 21:10, , 10F
07/10 21:10, 10F

07/10 21:12, , 11F
不過因為測試檔沒有涵蓋所有的鳥名,所以只拆出部分
07/10 21:12, 11F

07/10 21:42, , 12F
好的,我會全部來測試看看
07/10 21:42, 12F

07/10 21:42, , 13F
感謝前輩的指導
07/10 21:42, 13F
※ 編輯: beatitude (1.163.108.193), 07/11/2015 14:19:34
文章代碼(AID): #1LdeiRet (Python)
討論串 (同標題文章)
文章代碼(AID): #1LdeiRet (Python)