簡體   English   中英

從數據框中減去特定列的每一行並添加到列表 -python

[英]Subtract each row of specific column from dataframe and add to the list -python

我正在嘗試從 DataFrame aa 中減去 A 列的每一行並將它們添加到列表中。

a = pd.DataFrame(np.random.randint(1,10,(5,4)),columns=['A','B','C','D']) list=[]

對於這樣一個基本問題,我感到很抱歉,但我找不到解決方案。

編輯:剛剛意識到您只想從DataFrame提取一列作為列表。 在這種情況下,就像@arkhadiusz 評論的那樣,您可以使用:

a.A.to_list()

請注意,這不會從您的DataFrame刪除該列。 如果您想從DataFrame完全刪除它,您可以使用:

a.pop('A').to_list()

假設您想從DataFrame列中的每個元素中減去一個常量值,您可以嘗試以下操作:

x = 0.5 # some constant value you want to subtract
[val1 - val2 for val1, val2 in zip(a.A.to_list(), [x] * a.shape[0])]

或者,如果您想為每個元素減去不同的值,您可以嘗試:

x = [1, 2, 3, 4, 5]
[val1 - val2 for val1, val2 in zip(a.A.to_list(), x)]

如果我理解正確,你想要這個:

要獲得一個 numpy 數組:

lst = a[["B","C","D"]].subtract(a["A"], axis=0).values

要獲得二維列表:

lst = a[["B","C","D"]].subtract(a["A"], axis=0).values.T.tolist()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM