第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢查兩列之間的一對(duì)一關(guān)系

檢查兩列之間的一對(duì)一關(guān)系

慕斯709654 2021-09-11 10:04:25
我在熊貓數(shù)據(jù)框中有兩列 A 和 B,其中的值重復(fù)多次。對(duì)于 A 中的唯一值,B 也有望具有“另一個(gè)”唯一值。并且A的每個(gè)唯一值在B中都有一個(gè)對(duì)應(yīng)的唯一值(參見(jiàn)下面兩個(gè)列表形式的示例)。但是由于每列中的每個(gè)值都重復(fù)多次,我想檢查兩列之間是否存在任何一對(duì)一的關(guān)系。Pandas 中是否有任何內(nèi)置函數(shù)來(lái)檢查?如果沒(méi)有,是否有一種有效的方法來(lái)完成這項(xiàng)任務(wù)?例子:A = [1, 3, 3, 2, 1, 2, 1, 1]B = [5, 12, 12, 10, 5, 10, 5, 5]這里,對(duì)于 A 中的每個(gè) 1,B 中對(duì)應(yīng)的值總是 5,沒(méi)有別的。同樣,對(duì)于 2-->10,對(duì)于 3-->12。因此,A 中的每個(gè)數(shù)字在 B 中只有一個(gè)/唯一對(duì)應(yīng)的數(shù)字(沒(méi)有其他數(shù)字)。我稱(chēng)之為一對(duì)一的關(guān)系?,F(xiàn)在我想檢查熊貓數(shù)據(jù)框中的兩列之間是否存在這種關(guān)系。不滿足此關(guān)系的示例:A = [1, 3, 3, 2, 1, 2, 1, 1]B = [5, 12, 12, 10, 5, 10, 7, 5]這里,A 中的 1 在 B 中沒(méi)有唯一對(duì)應(yīng)值。它有兩個(gè)對(duì)應(yīng)值 - 5 和 7。因此,不滿足關(guān)系。
查看完整描述

1 回答

?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

考慮你有一些數(shù)據(jù)框:


 d = df({'A': [1, 3, 1, 2, 1, 3, 2], 'B': [4, 6, 4, 5, 4, 6, 5]})

dhasgroupby方法,它返回GroupByobject。例如,這是按相等的列值對(duì)某些行進(jìn)行分組的界面。


 gb = d.groupby('A')

 grouped_b_column = gb['B']

在分組行上,您可以執(zhí)行聚合。讓我們?cè)诿總€(gè)組中找到最小值和最大值。


res = grouped_b_column.agg([np.min, np.max])


>>> print(res)

   amin  amax

A            

1     4     4

2     5     5

3     6     6

現(xiàn)在我們只需要檢查amin和amax在每個(gè)組中是否相等,因此每個(gè)組都由相等的B字段組成:


res['amin'].equals(res['amax'])

如果這個(gè)檢查沒(méi)問(wèn)題,那么對(duì)于每個(gè)A你都有唯一的B. 現(xiàn)在您應(yīng)該檢查A和B列交換的相同條件。


查看完整回答
反對(duì) 回復(fù) 2021-09-11
  • 1 回答
  • 0 關(guān)注
  • 162 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)