簡體   English   中英

如何使用索引和python中的值制作矩陣?

[英]How to make a matrix using index and the value in python?

我有一個數據集,它有兩列:

index  Value 

0      True

1      True

2      False

3      True

是否有可能獲得一個看起來像的矩陣

index  0   1   2  3

0    True  True False True   

1    True  True False True

2    False False False False

3     True True False True

我試過pd.crosstab ,仍然無法獲得矩陣,有人可以幫忙嗎?

一種可能的方式:

m = np.tile(df['Value'], len(df)).reshape(-1, len(df)) * df[['Value']].values
out = pd.DataFrame(m)
print(out)

# Output
       0      1      2      3
0   True   True  False   True
1   True   True  False   True
2  False  False  False  False
3   True   True  False   True

首先,使用to_numpyValue列的值轉換為 numpy 數組。 然后通過使用[:,None]創建一個額外的軸並計算按位和運算來利用 numpy 廣播:

vals = df['Value'].to_numpy()

res = pd.DataFrame(vals[:,None] & vals, index=df.index)

輸出:

>>> res

           0      1      2      3
index                            
0       True   True  False   True
1       True   True  False   True
2      False  False  False  False
3       True   True  False   True

暫無
暫無

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

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