मेरे पास एकाधिक कॉलम वाला डेटाफ्रेम है। स्तंभों में से एक में, तार संग्रहीत होते हैं। मैं उन स्ट्रिंग पर नए लोगों के साथ नाम बदलना चाहता हूं:
यहाँ एक उदाहरण है:
old_names = ['Adam', 'Alan', 'Andrew', 'Frank', 'Harry', 'Jack',
'Josh', 'Justin', 'Roger', 'Ryan', 'Amanda', 'Betsy', 'Courtney', 'Ellen',
'Heather', 'Katie', 'Kristin', 'Melanie', 'Nancy', 'Stephanie']
new_names = ['Hanna', 'Brayden', 'Brooklyn', 'Ashlynn', 'Joshua',
'Britni', 'Latoya', 'Hunter', 'Kaylie', 'Infant', 'Ashlea', 'Haley',
'Caleb', 'Gage', 'Raheem', 'Mariel', 'Hakeem', 'Lukas', 'Isis', 'Nia']
मैं old_names[0] को new_names[0] old_names[1] से new_names[1] वगैरह से बदलना चाहता हूं। ऐसा करने के लिए, मैंने निम्नलिखित किया:
def change_names(data,old,new):
for i in range(len(prev)):
data['Sentence'] = data['Sentence'].str.replace(old[i],new[i])
return data
data = pd.read_csv("mydata.csv")
changed_data = change_names(data,old_names,new_names)
अगर मैं इस फ़ंक्शन को लागू करता हूं तो मैं Harry
को Latoyaua
से बदल देता हूं क्योंकि यह पहले हैरी को जोशुआ से बदल देता है और फिर जोश को लाटोया से बदल देता है, यह जोशुआ के उपसर्ग को Latoya
से भी बदल देता है।
मैं इस समस्या को कैसे ठीक करुं ?
संपादित करें
यह डेटाफ़्रेम से एक नमूना पंक्ति है:
>>> t.loc[220]
Sentence Harry feels angry.
Template <person subject> feels <emotion word>.
Person Harry
Name: 220, dtype: object
1 उत्तर
आप निम्न कार्य कर सकते हैं:
# create a dictionary of old to new name
map_names = dict(zip(old_names, new_names))
# sample data frame
df = pd.DataFrame({'sentence':['Harry feels angry','Adam is happy','Frank went crazy.']})
# map new names to old names
df['sentence'] = df['sentence'].apply(lambda x: ' '.join(map_names.get(y, y) for y in x.split()))
print(df)
sentence
0 Joshua feels angry
1 Hanna is happy
2 Ashlynn went crazy.
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।