![](/img/trans.png)
[英]comparing columns with in dataframe and count frequency of match in python
[英]Comparing 2 columns in a dataframe python
我正在嘗試比較我的數據幀中的一行是否為某個值。
所以例如: if word = 'bleu' and ink = 'blue'
,我想在我的數據框'congruent' = 1
有一個新列, if not = 0
。
我寫了這段代碼:
import pandas as pd
import numpy as np
import random
word = ['bleu', 'rouge', 'vert', 'jaune']
ink = ['blue', 'red', 'green', 'yellow']
my_list_word = [random.choice(word) for _ in range(60)]
df = pd.DataFrame(my_list_word, columns=["word"])
my_list_ink = [random.choice(ink) for _ in range(60)]
df['ink'] = my_list_ink
df['congruent'] = 0
print(df)
我試圖做一個循環,但它不起作用,我的全等列保持全0。
有人知道怎么做嗎?
謝謝!
我認為你正在尋找映射和匹配即
di = dict(zip(word,ink))
df['new'] = (df['word'].map(di) == df['ink']).astype(int)
word ink new
0 bleu red 0
1 jaune yellow 1
2 jaune blue 0
3 jaune yellow 1
4 vert blue 0
通過使用merge
df1=pd.DataFrame({'word':word,'ink':ink})
df.merge(df1.assign(congruent=1),on=['word','ink'],how='left').fillna(0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.