亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

我將數據從 Pandas 數據框中附加到列表中,但無法對其使用列表理解?

我將數據從 Pandas 數據框中附加到列表中,但無法對其使用列表理解?

UYOU 2021-06-07 05:25:38
import pandas as pddata = {'Sl No':[1,2,3,4,5,6,7,8,9,10],'Content':['abcd','efhg','acsd','drtsf','dfthsrfv','ftyjdrtg','dthrsgae','awefawef','thr','hdthrt']}dataframe = pd.DataFrame(data)all_data =[]all_data.append(dataframe.Content.values)現在,如果我嘗試添加如下所示的列表理解,則會出現錯誤。txt_1 = " ".join(v for v in all_data if v not in string.punctuation).lower()TypeError: 'in ' 需要字符串作為左操作數,而不是 numpy.ndarray除了使用 .extend() 命令之外,任何人都可以解釋如何克服這一點嗎?
查看完整描述

2 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

看看all_data:


In [679]: all_data

Out[679]: 

[array(['abcd', 'efhg', 'acsd', 'drtsf', 'dfthsrfv', 'ftyjdrtg',

        'dthrsgae', 'awefawef', 'thr', 'hdthrt'], dtype=object)]

這是一個包含一個數組的列表。這意味著v你理解的the將是這個數組,而不是數組中的一個詞。


extend而不是在append將數組添加到列表時解壓縮數組。


另一個選項是添加一個圖層以從列表中選擇數組,然后循環,for v in all_data[0]。


如果您將appended單詞列表添加到列表中,您的列表理解將不起作用。


查看完整回答
反對 回復 2021-06-09
?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

有幾種方法可以解決這個問題。由于all_data是一個包含字符串數組的列表,因此您需要實際訪問該數組而不是all_data.


假設 中可能有多個元素all_data,您可以使用您發布的代碼的嵌套列表理解版本:


txt_1 = " ".join(s for v in all_data for s in v if s not in string.punctuation).lower()

另一方面,如果您只想要 中的值dataframe['Content'],您有兩個選擇:


txt_2 = " ".join(v for v in all_data[0] if v not in string.punctuation).lower()

txt_3 = " ".join(v for v in dataframe.Content if v not in string.punctuation).lower()

選項 2 特指存儲all_data在位置 0的數組,而選項 3 通過dataframe['Content']直接訪問繞過了對列表的需要。


查看完整回答
反對 回復 2021-06-09
  • 2 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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