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

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

提取numpy數組類型的pandas數組元素

提取numpy數組類型的pandas數組元素

不負相思意 2021-12-29 10:49:38
我有一個 Pandas 數據框,df它的每個元素都是一個完整的 numpy 數組。例如列的第 6 行'x_grid':>>> e = df.loc[6,'x_grid']>>> print(e)[-11.52616579 -11.48006112 -11.43395646 -11.3878518  -11.34174713 -11.29564247 -11.24953781 -11.20343315 -11.15732848 -11.11122382 -11.06511916 -11.01901449 ...但是我不能將它用作 numpy 數組,因為它只是作為字符串給出:>>> print(type(e))<class 'str'>如何將 numpy 數組存儲到數據幀中,使其不會被轉換為字符串?或者以一種很好的方式將此字符串轉換回 numpy 數組?
查看完整描述

3 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

想要擴展 Rafal 的答案,以避免 numpy 從空字符串中拋出異常x.split

df['x_grid'].str[1:-1].apply(lambda x: list(filter(None,x.split(' ')))).apply(lambda x: np.array(x).astype(np.float))



查看完整回答
反對 回復 2021-12-29
?
jeck貓

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

如果您只想將每一行中的所有這些字符串轉換為列表,則以下內容將起作用:


df['x_grid'].str[1:-1].str.split(" ").apply(lambda x: (list(map(float, x))))


# or for a numpy array

df['x_grid'].str[1:-1].str.split(" ").apply(lambda x: (np.array(list(map(float, x)))))

希望有幫助。


查看完整回答
反對 回復 2021-12-29
?
紅糖糍粑

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

由于爾法恩hpaulj對于合并來回答這個問題的建議。

解決方案是,在設置數據幀的元素時,我首先將 numpy 數組x轉換為列表(因此它以逗號分隔而不是空格分隔):

df = df.append({'x_grid': list(x)}, ignore_index=True)

然后在保存到 csv 并重新加載后,我使用np.array()and將其提取回一個 numpy 數組ast.literal_eval()(注意:需要import ast):

x = np.array(ast.literal_eval(df.loc[entry,'x_grid']))

然后返回一個正確的 numpy 數組x。


查看完整回答
反對 回復 2021-12-29
  • 3 回答
  • 0 關注
  • 265 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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