मेरे पास कलाकारों के नामों का एक कॉलम है और मैं यह पता लगाने की कोशिश कर रहा हूं कि कलाकार अपने असली नाम का उपयोग कर रहा है या नहीं। इसलिए मैंने लोकप्रिय प्रथम या अंतिम नामों की एक सूची संकलित की और इसे एक सेट में रखा। अब मैं प्रत्येक कलाकार के नाम के सभी शब्दों को पढ़ने की कोशिश कर रहा हूं और जांच कर रहा हूं कि वे सेट में हैं या नहीं। मैंने सभी स्ट्रिंग्स को सूचियों में विभाजित कर दिया है (df["artist_name"].str.split ()) लेकिन सूची में सभी शब्दों के माध्यम से पुनरावृति करना नहीं जानता।

0
Oscar Sykes 24 अगस्त 2021, 06:26

2 जवाब

सबसे बढ़िया उत्तर

चर name में संग्रहीत एकल नाम और चर nameList में संग्रहीत सूची के लिए, आप केवल name in nameList चलाकर जांच सकते हैं कि नाम सूची में है या नहीं।

यदि आपके पास एक fullName चर है, जिसमें शायद पहला और अंतिम नाम एक स्थान द्वारा अलग किया गया है, तो आप निम्न कार्य कर सकते हैं:

any([name in nameList for name in fullName.split()])

यह True लौटाएगा यदि कलाकार का पहला या अंतिम नाम उस सूची में है जिसकी आप तुलना कर रहे हैं। यदि आप एक सख्त तुलना बनाना चाहते हैं और यह चाहते हैं कि सूची में पहला और अंतिम नाम दोनों हों, तो आप any को all से बदल सकते हैं।

नीचे दिया गया कोड तुलना के लिए artistNames नामक एक पांडा श्रृंखला और nameList नामक एक सूची का उपयोग करता है।

nameList = ['Fred','Steve','Susan','Jane','Robertson','Jones']
artistNames = pd.Series(['Steve Musicianson','NotARealName McRobotFace','Susan Artistsdottir','Fred Jones'])
anyRealName = artistNames.apply(lambda x: any(map(lambda y: y in nameList, x.split())))
allRealName = artistNames.apply(lambda x: all(map(lambda y: y in nameList, x.split())))

इस कोड में, anyRealName वापस आ जाएगा

0     True
1    False
2     True
3     True

जबकि allRealName वापस आ जाएगा

0    False
1    False
2    False
3     True
0
Dharman 24 अगस्त 2021, 07:36

हम कलाकारों के नामों के माध्यम से पुनरावृति कर सकते हैं और जांच सकते हैं कि यह वास्तविक नामों की सूची में मौजूद है या नहीं।

import pandas as pd

Panda = pd.read_csv("Artist_Details")

RealNames = [# This List will contain the real names of the artists.]

ArtistList = list(Panda['Artist'])

for Artist in ArtistList:
    if Artist not in RealNames:
        print(Artist)
        
0
Ayush Biswas 24 अगस्त 2021, 07:10