第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

jupyter上pandas to_csv read_csv字符串數組中的引號

jupyter上pandas to_csv read_csv字符串數組中的引號

函數式編程 2021-11-30 16:35:52
這篇文章是從熊貓到_csv 輸出引用問題的后續(xù)。比如說,我用文本數據創(chuàng)建了一個數據框。此文本數據存儲為字符串列表:In [1]: import pandas as pdIn [2]: text = ['this', 'is', '"out text"']   ...: df_pre = pd.DataFrame(index=['1'], columns=['one','two'])   ...: df_pre.loc['1','one'] = 123   ...: df_pre.loc['1','two'] = text檢查預讀數據框的列:In [3]: df_preOut[3]:    one                     two1  123  [this, is, "out text"]In [4]: df_pre.two.iloc[0]Out[4]: ['this', 'is', '"out text"']這正是我想要的:df.two是一個字符串列表,并且保留了字符串元素中的引號。但是當我寫入然后將 df 作為 csv 讀取時:In [5]: df_pre.to_csv('foo.txt', index=False)In [5]: df_post = pd.read_csv('foo.txt')我看到df.two已經不同代表,以便有更多的現在報價在后-讀取數據幀:In [6]: df_postOut[6]:    one                           two0  123  ['this', 'is', '"out text"']和這里:In [7]: df_post.two.iloc[0]Out[7]: '[\'this\', \'is\', \'"out text"\']'這樣做的問題是,如果我想df.two為每一行遍歷列中的每個字符串元素,我必須處理包裝每個元素的附加引號。所以,如果我想計算“這個”發(fā)生了多少次,使用post數據框,我會得到 0。我的問題:為什么會發(fā)生這種情況?我怎樣才能防止它發(fā)生?我已經嘗試了所有級別的引用(即 [0,3]),但無濟于事。我的目標是處理多行文本數據(標記化、詞干提取等),并以 csv 格式保存工作以供以后操作。作為后續(xù),我希望post看起來像pre:前(沒有額外的報價):In [8]: df_preOut[8]:    one                     two1  123  [this, is, "out text"]發(fā)表(附有額外引文):In [9]: df_postOut[9]:    one                           two0  123  ['this', 'is', '"out text"']解決方案df_post.two = df_post.two.apply(eval)
查看完整描述

1 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超7個贊

CSV 需要能夠以可以重新加載的方式存儲數據,因此它會轉義有意義的字符(特別是逗號,這是默認的列分隔符,以及單引號,否則會終止您的細繩)。

要將其從轉義格式轉換回,您可以使用 eval:

input = '[\'this\', \'is\', \'"out text"\']'
output = eval(input)

該操作也可以在數據幀的整個列上執(zhí)行。


查看完整回答
反對 回復 2021-11-30
  • 1 回答
  • 0 關注
  • 225 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號