高效的熊猫数据框插入

我正在尝试添加浮点值,例如[[(1,0.44),(2,0.5),(3,0.1)],[(2,0.63),(1,0.85),(3,0.11)], […]
一个看起来像从元组的第一个值构建的矩阵的Pandas数据框

df = 1 2 3
     1 0.44 0.5 0.1
     2 0.85 0.63 0.11
     3……

我尝试了这个:

    for key, value in enumerate(outer_list):
      for tuplevalue in value:
        df.ix[key][tuplevalue[0]] = tuplevalue[1]

问题是我的NxN-Matrix包含大约10000×10000个元素,因此我的方法花了很长时间.还有另一种可能加快速度吗?

(不幸的是,列表中的值不是由第一个元组元素排序的)

解决方法:

使用列表推导首先对数据进行排序和提取.然后根据排序和清理后的数据创建数据框.

data = [[(1, 0.44), (2, 0.50), (3, 0.10)],
        [(2, 0.63), (1, 0.85), (3, 0.11)]]

# First, sort each row.
_ = [row.sort() for row in data]

# Then extract the second element of each tuple.
new_data = [[t[1] for t in row] for row in data]

# Now create a dataframe from your data.
>>> pd.DataFrame(new_data)
      0     1     2
0  0.44  0.50  0.10
1  0.85  0.63  0.11

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...