簡體   English   中英

如何將具有 n 個值的 DataFrame 列轉換為 n 個二進制列?

[英]How to convert column of DataFrame with n values to n binary columns?

我很確定有一個 Pandas 函數可以這樣做,但是當我查看文檔並用谷歌搜索時我找不到它。 也許你可以幫助我。 這是我想要做的:

import pandas as pd

data = {'col1': ['val1','val2','val3'],
        'col2': ['feat1','feat1','feat2']
       }
df = pd.DataFrame(data)
print (df)

>    col1   col2
> 0  val1  feat1
> 1  val2  feat1
> 2  val3  feat2

我想要這個形狀的數據框:

>    col1  feat1  feat2
> 0  val1      1      0
> 1  val2      1      0
> 2  val3      0      1

最佳P

print(pd.get_dummies(df.set_index('col1'), prefix='', prefix_sep=''))

印刷:

      feat1  feat2
col1              
val1      1      0
val2      1      0
val3      0      1

您也可以使用crosstab

pd.crosstab(df.col1, df.col2)

暫無
暫無

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

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