2016-08-27 22 views
1

当我进行预测性建模练习时,我无法理解标志的用法。我GOOGLE了,但我找不到最好的解释。在“熊猫”中使用“flag”有什么用处

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 

你能解释一下什么呢标志在Python pandas意味着,什么是标志的重要性。谢谢。

+1

当您需要将多个数据集“concat”连接在一起,并仍能够区分哪些数据来自哪个数据集时,您最好使用哪种其他方法? – Aprillion

+0

谢谢@Aprillion我明白了! –

回答

2

我想这是更简单,更快地显示它作为一个例子:

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 

让我们Type列添加到每个DF:

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

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

现在让我们加入/合并(垂直)都DFs-Type列将有助于区分来自两个不同DF的数据:

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

非常感谢@MaxU我很清楚你的例子。 –

+0

@ K.ossama,不客气! :) – MaxU