python - 使用什么数据结构来存储在函数 python 中创建的值
问题描述
我有一个函数,它用 2 个循环迭代数据,执行计算,并且在第一个循环的每次迭代中,我得到 3 个值,我想保留在数据结构中,最好是使用数据框。所以在第一个循环结束时我有 3 个值,在第二个循环结束时,我应该得到很多行,每行有 3 个值。下面是前 3 行的示例:
col_idx value score
0 0 2.4 5.5
1 0 10.1 150
2 0 1.9 8.8
最好的数据结构是什么?我试图将这 3 个值的列表附加到一个更大的列表中(稍后将其转换为数据框),但做不到。这是我的代码示例:
def calc(self):
values = self.get_threshold_values()
bigger_data = []
for col_idx in range(len(self.data_set.columns)):
score = 0.5
value_to_split = 0
small_data = []
for j in range(len(threshold_values)):
value = threshold_values.iloc[j][col_idx]
below_value, above_value = self.split_data(col_idx, value)
score_for_value = self.calc_score(below_value, above_value)
if score_for_value < score:
score = score_for_value
value_to_split = value
small_data.append([col_idx, value_to_split, score])
bigger_data.append(small_data)
return bigger_data
我还想初始化 numpy 数组,然后将其转换为数据框。
有什么想法可以快速高效地完成吗?
解决方案
通过做
small_data.append([col_idx, value_to_split, score])
你的 small_data 成为一个列表,如 [[data1, data2...]] 但你需要一个普通的 list 。尝试:
small_data.extend([col_idx, value_to_split, score])
这将使:[data1,data2 ...]
推荐阅读
- r - 边缘上的 R partykit::ctree 偏移标签
- java - 如何修复 ApplicationResources_fr.properties 损坏
- excel - 提示用户根据单元格值保存 Excel 文件名(使用 VBA)
- javascript - 同时从多个 Promise 中返回 Cloud Firebase 数据
- css - 在我的网站的移动版本上显示表格时出现问题
- azure - 如何替换 Azure 规模集 VM 操作系统磁盘(从快照还原)
- sql - 使用 Dapper 存储过程防止注入?
- android - 程序类型已存在:com.paytm.pg.AppTest
- python - Python 中的 Keras:LSTM 维度
- c++ - C++ 纯虚函数也是定义还是声明?