在for循环中填充具有不同dtype的数据帧

时间:2017-03-04 15:45:50

标签: python pandas dataframe

您好我想创建一个数据框,其中包含“开始'”,“'结束'”,“'期限'”和“'文件名'

MyDataframe=pd.DataFrame(columns=['start','end','duration','filename'])

列的开头,结尾和持续时间应包含整数和文件名字符串

我需要在我读取文件的foor循环中填充数据框,然后计算事件的开始,结束和持续时间。

for i in range(0,numFiles):
  [detected_events] = calculateevents(filename)

detected_events是一个数组,包含文件名

中所有事件的开始,结束和持续时间
detected_events
Out[4]: 
array([[ 24737,  24807,      4],
       [ 36221,  36221,      1],
       [ 37563,  37652,      4],
       ..., 
       [179738, 179738,      1],
       [179829, 179829,      1],
       [179888, 179888,      1]])

我想将信息容器包含在MyDataframe中检测到的事件中,以及计算这些事件的文件名,但我找不到方法。你能救我吗?

1 个答案:

答案 0 :(得分:0)

你需要的IIUC:

dfs = []
for i in range(0,numFiles):
  detected_events = calculateevents(filename)
  #create df by numpy array
  MyDataframe = pd.DataFrame(detected_events, columns=['start','end','duration'])
  #add new column, second row fill to filename (another values are NaN)
  MyDataframe[1, 'filename'] = filename
  #add df to list  
  dfs.append(MyDataframe)

#concat all df to one big 
df = pd.concat(dfs, ignore_index=True)