1
我有一個Pandas數據框,其中有幾列組成一個唯一標識符。我想寫一個通用測試用例,允許我將這些列連接在一起成爲一個列(uid
)並測試該列的唯一性。我有以下代碼作爲非通用測試用例:將系列列表連接到一個uid
import pandas as pd
import pytest
df = pd.DataFrame(columns=['one', 'two', 'three'])
df.one = 'abc', 'def', 'ghi'
df.two = 'jkl', 'mno', 'pqr'
df.three = 'stu', 'vwx', 'yzz'
# Test one
df['uid'] = df.one + df.two
assert len(df.index) == len(df.drop_duplicates(['uid']).index)
# Test two
df['uid'] = df.one + df.three
assert len(df.index) == len(df.drop_duplicates(['uid']).index)
由於我將重用這一點,我需要一種解決方案,其允許選擇任意的列的要連接在一起,例如在管線8和11.
這並不能解決問題。我希望能夠編寫一個通用的函數,它允許我從'df'中選擇一組任意的列來連接到一個id列,而不僅僅是數據框中的所有列。 –
好的。得到它。建議你應該澄清你的問題,說你想*選擇*列來總結,而不是說你想要任意數量的列。 –
沒問題,對不起,我一開始並不清楚。 –