मेरे पास एक पांडा डेटाफ्रेम है और मैं नीचे तानाशाही के अनुसार क्लस्टर बनाने की कोशिश कर रहा हूं। उदाहरण: 'इन्फो 1' क्लस्टर में मेरे पास डिक्शनरी के अनुसार कुल 7 मान हैं और पांडा डेटाफ्रेम में मेरे पास केवल 4 हैं। उसी के अनुसार क्लस्टर बना रहे हैं। मुझे आउटपुट से नीचे मिलेगा।
इनपुट:
PII Counts
CREDIT_CARD 158
DATE_TIME 544
DOMAIN_NAME 609
EMAIL_ADDRESS 90
IP_ADDRESS 405
LOCATION 346
PERSON 202
BANK_NUMBER 202
PASSPORT 130
NHS 6
NRP 20
dict = {'Info 1': ['PERSON', 'LOCATION', 'PHONE_NUMBER', 'EMAIL_ADDRESS', 'PASSPORT', 'SSN',
'DRIVER_LICENSE'],
'Info 2': ['NHS'],
'Info 3': ['IP_ADDRESS', 'DOMAIN_NAME'],
'Info 4': ['CRYPTO', 'DATE_TIME', 'NRP'],
'Info 5': ['CREDIT_CARD', 'BANK_NUMBER', 'ITIN', 'CODE']}
आउटपुट:
Names Count Info
0 Info 5 [158, 202] ['CREDIT_CARD','BANK_NUMBER']
1 Info 2 [6] ['NHS']
2 Info 3 [405, 609] ['IP_ADDRESS','DOMAIN_NAME']
3 Info 4 [20, 544] ['NRP','DATE_TIME']
4 Info 1 [202, 346, 90, 130] ['PERSON','LOCATION','EMAIL_ADDRESS','PASSPORT']
1 उत्तर
पहले वेरिएबल dict
का उपयोग न करें, क्योंकि पायथन कोड वेरिएबल है।
फिर स्वैप की गई कुंजियों और मानों के साथ dict की सूचियों को समतल करें, Series.map
PII
द्वारा और DataFrame.groupby
कुल मिलाकर list
:
d = {'Info 1': ['PERSON', 'LOCATION', 'PHONE_NUMBER', 'EMAIL_ADDRESS', 'PASSPORT', 'SSN',
'DRIVER_LICENSE'],
'Info 2': ['NHS'],
'Info 3': ['IP_ADDRESS', 'DOMAIN_NAME'],
'Info 4': ['CRYPTO', 'DATE_TIME', 'NRP'],
'Info 5': ['CREDIT_CARD', 'BANK_NUMBER', 'ITIN', 'CODE']}
d1 = {k: oldk for oldk, oldv in d.items() for k in oldv}
df1 = (df.groupby(df['PII'].map(d1).rename('Names'), sort=False)
.agg(list)
.reset_index())
print (df1)
Names PII Counts
0 Info 5 [CREDIT_CARD, BANK_NUMBER] [158, 202]
1 Info 4 [DATE_TIME, NRP] [544, 20]
2 Info 3 [DOMAIN_NAME, IP_ADDRESS] [609, 405]
3 Info 1 [EMAIL_ADDRESS, LOCATION, PERSON, PASSPORT] [90, 346, 202, 130]
4 Info 2 [NHS] [6]
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।