2016-08-27 1 views
1

Lorsque je m'entraînais avec un exercice de modélisation prédictive, je ne pouvais pas comprendre l'utilisation de drapeaux. Je l'ai googlé mais je n'ai pas pu trouver la meilleure explication.Quelle est l'utilisation de "drapeau" dans les pandas

train = pd.read_csv('C:/Users/Analytics Vidhya/Desktop/challenge/Train.csv') 
test = pd.read_csv('C:/Users/Analytics Vidhya/Desktop/challenge/Test.csv') 
train['Type'] = 'Train' #Create a flag for Train and Test Data set 
test['Type'] = 'Test' 
fullData = pd.concat([train,test], axis=0) #Combined both Train and Test Data set 

Pouvez-vous expliquer ce que signifie le fait drapeau en Python pandas et quelle est l'importance des drapeaux. Je vous remercie.

+1

lorsque vous devez concaténer plusieurs ensembles de données et être capable de distinguer les données provenant de quel ensemble de données, quelle autre approche utiliseriez-vous le mieux? – Aprillion

+0

Merci @Aprillion J'ai l'idée! –

Répondre

2

Je pense qu'il est plus facile et plus rapide de le montrer comme un exemple:

In [102]: train = pd.DataFrame(np.random.randint(0, 5, (5, 3)), columns=list('abc')) 

In [103]: test = pd.DataFrame(np.random.randint(0, 5, (3, 3)), columns=list('abc')) 

In [104]: train 
Out[104]: 
    a b c 
0 3 4 0 
1 0 0 1 
2 2 4 1 
3 4 2 0 
4 2 4 0 

In [105]: test 
Out[105]: 
    a b c 
0 1 0 3 
1 3 3 0 
2 4 4 3 

ajoutons Type colonne à chaque DF:

In [106]: train['Type'] = 'Train' 

In [107]: test['Type'] = 'Test' 

maintenant, nous allons rejoindre/fusion (verticalement) à la fois DFs - la colonne Type aidera à distinguer les données de deux DF différents:

In [108]: fullData = pd.concat([train,test], axis=0) 

In [109]: fullData 
Out[109]: 
    a b c Type 
0 3 4 0 Train 
1 0 0 1 Train 
2 2 4 1 Train 
3 4 2 0 Train 
4 2 4 0 Train 
0 1 0 3 Test 
1 3 3 0 Test 
2 4 4 3 Test 
+0

Merci beaucoup @MaxU Je trouve votre exemple très clair. –

+0

@ K.ossama, vous êtes les bienvenus! :) – MaxU