使用迭代的方式创建pandas DataFrame

2024-07-06 20:10:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建以下列表:

myList = []
for i in range(0,10):
    val0 = 1  # some formula for obtaining values
    val1 = 2.5
    val2 = 1.8
    myList.append([val0,val1,val2])

如何对pandas数据帧执行相同的循环(即myList必须是DataFrame)。


Tags: 数据inpandas列表forrangesomevalues
2条回答

如果我问对了:

import pandas as pd

myList = []

for i in range(0,10):
    val0 = 1  # some formula for obtaining values
    val1 = 2.5
    val2 = 1.8
    myList.append([val0,val1,val2])

df = pd.DataFrame(myList, columns=['val0','val1','val2'])
print(df)

PS您不想在循环中将数据追加到数据帧-这不会非常有效。

输出:

   val0  val1  val2
0     1   2.5   1.8
1     1   2.5   1.8
2     1   2.5   1.8
3     1   2.5   1.8
4     1   2.5   1.8
5     1   2.5   1.8
6     1   2.5   1.8
7     1   2.5   1.8
8     1   2.5   1.8
9     1   2.5   1.8

理想情况下,您希望在所有数据就绪后创建DataFrame。稍微修改一下示例:

my_df = []
for i in range(0,10):
    d = {
        'val0' : 1,  # some formula for obtaining values
        'val1' : 2.5,
        'val2' : 1.8
    }
    my_df.append(d)

my_df = pd.DataFrame(my_df)

所以现在my_df是一个DataFrame,其中val0val1val2是列

相关问题 更多 >