簡體   English   中英

Python pandas - 顯示同一列值之間的關系

[英]Python pandas - show relationship between values of same column

假設我有一個由兩列組成的熊貓數據框:動物和它們的重量。

兩排:貓10磅,狗20磅

我想要一個顯示所有列值之間關系的輸出。 在下面所需的輸出數據框中,該值是行動物的重量減去列動物的重量。

    cat  dog
cat 0    -10
dog 10   0

我嘗試過pivot_table,但它似乎不是將索引和列設置為相同值的正確工具。

pd.pivot_table(df, index=['animal'], columns=['animal copy'], values=['weight'], aggfunc=np.diff)

導致錯誤。 Np.sum 僅具有相同動物的值。

這是一種使用循環手動構建“數據透視表”的方法:

# Starting dataframe:
df = pd.DataFrame(data={"animal": ["dog", "cat", "donkey"], "weight": [20, 10, 200]})

weights = dict(zip(df["animal"], df["weight"]))
animals = weights.keys()
pt = pd.DataFrame(columns=animals, index=animals)
for column in pt.columns:
    pt[column] = weights[column] - pt.index.map(weights)

我確信有一種更好的 Pandas 內置方式來做到這一點,所以我很想看看它。

暫無
暫無

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

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