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

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

從索引列表創(chuàng)建 pandas DataFrame 列

從索引列表創(chuàng)建 pandas DataFrame 列

手掌心 2022-10-18 15:10:17
如果有一個 DataFrame 并且我有一個行和列索引列表。我想從索引列表指向的 DataFrame 值中創(chuàng)建一列。df=pd.DataFrame([[0,1,0],[3,0,0],[4,0,1]])row_ind=[0,1,2]col_ind=[1,0,0]所以在這種情況下,我想獲得一個新的 DataFrame,它包含值 1、3、4。我可以通過循環(huán)來做到這一點zip(row_ind, col_ind),然后在每次迭代中訪問一個 DataFrame 單元并將其添加到我的新數據中。有沒有更好的選擇,單線?類似的東西df.iloc[row_ind,col_ind](這會返回整個數據幀,但我只想要新數據幀中的單個值)。
查看完整描述

3 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

使用熊貓的查找:


df.lookup(row_ind,col_ind)

array([1, 3, 4], dtype=int64)

您可以將其作為單列數據框傳回...使用pd.DataFrame()


查看完整回答
反對 回復 2022-10-18
?
鴻蒙傳說

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

使用numpy的精美索引:


import pandas as pd


df = pd.DataFrame([[0, 1, 0], [3, 0, 0], [4, 0, 1]])

row_ind = [0, 1, 2]

col_ind = [1, 0, 0]


series = pd.Series(df.to_numpy()[row_ind, col_ind])


查看完整回答
反對 回復 2022-10-18
?
慕俠2389804

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

一個簡單的方法是這樣使用df.values:


import pandas as pd


df = pd.DataFrame([[0, 1, 0], [3, 0, 0], [4, 0, 1]])

row_ind = [0, 1, 2]

col_ind = [1, 0, 0]


result = [df.values[row_ind[i], col_ind[i]] for i in range(len(row_ind))]


print(result)

返回


[1, 3, 4]

如果你真的想要它在另一個數據框中,只需添加


df2 = pd.DataFrame(result)


查看完整回答
反對 回復 2022-10-18
  • 3 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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