python - 数据框将 Numpy 数组添加到数据框的行数
问题描述
我正在使用 Numpy 来计算一些公式。我需要一个包含更多细节的数据帧结果。
我尝试了类似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
您可以在pandas.DataFrame.explode上阅读有关explode()
函数的更多信息
推荐阅读
- java - hibernate 是否处理 Spring 注释?
- java - 为什么这个特殊的程序打印我五个?
- c++ - 如何在 Windows 上使用 Clang 静态分析器?
- powershell - 使用 if 向命令添加可选参数
- unit-testing - 测试使用插槽的苗条组件
- elasticsearch - ElasticSearch 按数组字段过滤 不包含某些值
- c++ - 任何从 c++filt demangled 输出中获取更多信息的方式
- elasticsearch - 如何将布尔查询与间隔查询或任何其他查询结合起来
- java - Swagger Codegen (Springboot) 生成的代码的“任何”类没有反序列化
- mfc - 午餐远程应用程序 C++ MFC