Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python数据框架中存储列表_Python_List_Dataframe - Fatal编程技术网

如何在python数据框架中存储列表

如何在python数据框架中存储列表,python,list,dataframe,Python,List,Dataframe,我试图创建一个数据框,其中一列是其他列的值列表,类似于: a b MA2 MA4 0 1 [1,NaN,NaN] NaN Nan 1 2 [2,1.5,NaN] 1.5 NaN 2 3 [3,2.5,NaN] 2.5 NaN 3 4 [4,3.5,2.5] 3.5 2.5 ... 但是我不知道如何使b列中的值成为列表 我的测试代码是: df = pd.DataFrame({'a': [1,2,3,4,5,6,7,8,9]

我试图创建一个数据框,其中一列是其他列的值列表,类似于:

   a             b  MA2  MA4
0  1   [1,NaN,NaN]  NaN  Nan
1  2   [2,1.5,NaN]  1.5  NaN
2  3   [3,2.5,NaN]  2.5  NaN
3  4   [4,3.5,2.5]  3.5  2.5
...
但是我不知道如何使b列中的值成为列表

我的测试代码是:

df = pd.DataFrame({'a': [1,2,3,4,5,6,7,8,9]})

df["b"] = list(df["a"])

for days in [2,4]:
    labelMA  = "MA" + str(days)

    df[labelMA]   = df["a"].rolling(window =  days, center = False).mean() 
    df["b"] += list(df[labelMA])
但这(以及我尝试过的其他变体)会生成一个单值b列。

使用
tolist()
将需要存储在b列中的值转换为列表列表,然后直接赋值;这应该比在移动中创建列b更有效:

df = pd.DataFrame({'a': [1,2,3,4,5,6,7,8,9]})

for days in [2,4]:
    labelMA  = "MA" + str(days)
    df[labelMA] = df["a"].rolling(window =  days, center = False).mean() 

df['b'] = df.values.tolist()

df
#   a   MA2 MA4               b
#0  1   NaN NaN [1.0, nan, nan]
#1  2   1.5 NaN [2.0, 1.5, nan]
#2  3   2.5 NaN [3.0, 2.5, nan]
#3  4   3.5 2.5 [4.0, 3.5, 2.5]