问题描述
我正在使用Numpy计算somme公式。 我需要更多细节的数据文件结果。
我尝试过类似df_append.append
之类的操作来将数据加载到数据框中。
df_cars = pd.DataFrame(data= None,['CarName',"ModelName",'Month','values'])
for(carname in cars):
modelsnames = getModels(car)
for(modelname in Models):
values=np.array(get_values(car,model))
#values = [1,5,6,9,10,2,7,23,90,102,14]
new_row={'CarName' :carname,"ModelName": modelname,'Month':np.arange(1,len(index)+1),'value':index}
df_cars = df_cars.append(new_row,ignore_index=True)
但是numpy值将其保存在一个单元格中(Numpy公式的结果)
示例:
numpy values_BMW_Serie1:[45000,44000,41000,45000,42000]
Car Model Month value
1 BMW Serie1 1 [45000,42000]
我需要将每个numpy值保存在一个单元格中
Car Model Month value
1 BMW Serie1 1 45000
2 BMW Serie1 2 44000
3 BMW Serie1 3 41000
4 BMW Serie1 4 45000
5 BMW Serie1 5 42000
解决方法
要解决您的问题,请使用explode()
函数:
import numpy as np
df_cars=df_cars.explode('value')
df_cars.index = np.arange(1,len(df_cars) + 1)
df_cars['Month']=df_cars.index
输出:
Car Model Month value
1 BMW Serie1 1 45000
2 BMW Serie1 2 44000
3 BMW Serie1 3 41000
4 BMW Serie1 4 45000
5 BMW Serie1 5 42000
您可以在pandas.DataFrame.explode上了解有关explode()
功能的更多信息