2016-12-03 130 views
1
import numpy as np 
from numpy import random 
import pandas as pd 
from pandas import Series, DataFrame 

staff = ['Emelia','Raphael','Mike', 'Peter'] 

staff_l = [] 
for i in random.choice(staff, 4): 
    staff_l.append(i) 
s = Series(staff_l,index=['A','B','C','D']) 

dframe = DataFrame(index=['A','B','C','D','E','F'],columns=['Morning','Afternoon']) 

dframe.fillna(s) 

我希望能夠填補與員工的名字隨機選擇了「晨報」列,直到列兩端,並填補了下午柱也。由於我無法使用列表,我將它轉換爲一系列,但仍然無法使用。當我使用這個代碼dframe.fillna(s)時,它給了我一個NaN列。我似乎不能取代NaN。自動填充柱,直到柱耗盡

回答

1

我認爲你至少應該清楚數據幀的大小。

在你的情況

這一個工程

import pandas as pd 
import random 
staff = ['Emelia','Raphael','Mike', 'Peter'] 
yourframe=pd.Dataframe(index=['A','B','C','D','E','F'],columns=['Morning','Afternoon']) 
for x in yourframe.index.values: 
    yourframe.set_value(x,'Morning',random.choice(staff)) 

for x in yourframe.index.values: 
    yourframe.set_value(x,'Afternoon',random.choice(staff)) 

你可以把它們放在同一個循環,因爲random.choice返回隨機值,但我不知道你想要什麼。