मेरे पास डेटाफ्रेम, 'डीएफ' है और मैं डीएफ के भीतर शर्तों के आधार पर पंक्तियां डालना चाहता हूं। प्रत्येक 'आईडी' मान में पेय प्रकार (बीयर और वाइन) दोनों के लिए एक समान प्रविष्टि होनी चाहिए। मैं कहना चाहता हूं कि यदि किसी आईडी प्रविष्टि में बीयर प्रकार नहीं है, उदाहरण के लिए, बीयर के बराबर ड्रिंक टाइप के साथ पंक्ति जोड़ें और 'नॉट स्टेटेड' के बराबर पीएं। इसी तरह, यदि बीयर को एक आईडी मान के लिए कहा गया है, लेकिन वाइन के लिए नहीं, तो ड्रिंक टाइप के तहत वाइन के साथ पंक्ति जोड़ें और 'नॉट स्टेटेड' के बराबर ड्रिंक करें। मैं चाहता हूं कि df df1 जैसा दिखे।

df:    

ID    DrinkType    Drink

130   Beer         Fosters
130   Wine         Rose
130   Beer         Budweiser 
102   Beer         Fosters
120   Wine         Pinot Grigot
120   Beer         Budweiser 
99    Wine         Coke
75    Beer         Carling
75    Beer         Fosters


df1:    

ID    DrinkType    Drink

130   Beer         Fosters
130   Wine         Rose
130   Beer         Budweiser 
102   Beer         Fosters
102   Wine         Not Stated
120   Wine         Pinot Grigot
120   Beer         Budweiser 
99    Wine         Coke   
99    Beer         Not Stated
75    Beer         Carling
75    Beer         Fosters
75    Wine         Not Stated
1
Sam 11 अप्रैल 2020, 17:47

1 उत्तर

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

विशेष अनुक्रमणिका पर डेटाफ़्रेम में पंक्ति सम्मिलित करने का कार्य

def Insert_row_(row_number, df, row_value): 
     #Slice the upper half of the dataframe 
     df1 = df[0:row_number] 
     # Store the result of lower half of the dataframe 
     df2 = df[row_number:] 

     # Inser the row in the upper half dataframe 
     df1.loc[row_number]=row_value 

     # Concat the two dataframes 
     df_result = pd.concat([df1, df2]) 

     # Reassign the index labels 
     df_result.index = [*range(df_result.shape[0])] 

     # Return the updated dataframe 
     return df_result 

चलिए एक पंक्ति बनाते हैं जिसे हम सम्मिलित करना चाहते हैं

index = 2
item_insert = ['Beer','NotStated'] 

if row_number > df.index.max()+1: 
    df[index]=row_value 
else: 
    # Let's call the function and insert the row 
    # at the second position 
    df = Insert_row_(2, df, row_value) 


print(df) 

अंत में कोई भी पंक्ति डालें

वर्तमान डेटाफ़्रेम की अधिकतम अनुक्रमणिका ज्ञात करें

df[s]=rowvalue or we can use pd.concat(df,df1)
0
Jai Mahesh 11 अप्रैल 2020, 16:49