数据框将 Numpy 数组的行数添加到数据框
Datframe adding Numpy array as many rows to dataframe
我正在使用 Numpy 计算索姆公式。
我需要一个包含更多详细信息的 datafrale 结果。
我尝试了类似 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,10,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,44000,41000,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
上阅读有关 explode()
函数的更多信息
我正在使用 Numpy 计算索姆公式。 我需要一个包含更多详细信息的 datafrale 结果。
我尝试了类似 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,10,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,44000,41000,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
上阅读有关 explode()
函数的更多信息