Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Pandas 如何向多索引列数据帧添加值_Pandas - Fatal编程技术网

Pandas 如何向多索引列数据帧添加值

Pandas 如何向多索引列数据帧添加值,pandas,Pandas,我的数据帧是 a b 1 2 1 2 0 0.281045 0.975469 -0.538213 -0.180008 1 0.128696 1.875480 0.247637 -0.047927 我想将矩阵插入(a,3)、(b,3) 似乎没有合适的方法为多索引数据帧添加值,下面是我尝试的代码: df[:,:,3] = [[1, 1

我的数据帧是

    a                       b
    1           2           1           2  
0   0.281045    0.975469    -0.538213   -0.180008
1   0.128696    1.875480    0.247637    -0.047927
我想将矩阵插入
(a,3)、(b,3)

似乎没有合适的方法为多索引数据帧添加值,下面是我尝试的代码:

df[:,:,3] = [[1, 1],
             [1, 1]]```
But it didn't work...

您可以使用
MultiIndex
创建新的
DataFrame
,然后通过排序
MultiIndex
将其追加到数据中:

arr = np.array([[1, 1],[1, 1]]) 

df1 = pd.DataFrame(arr, 
                   index=df.index, 
                   columns= pd.MultiIndex.from_product([df.columns.levels[0], [3]]))

df = df.join(df1).sort_index(axis=1)
print (df)
          a                      b             
          1         2  3         1         2  3
0  0.281045  0.975469  1 -0.538213 -0.180008  1
1  0.128696  1.875480  1  0.247637 -0.047927  1

您可以使用
MultiIndex
创建新的
DataFrame
,然后通过排序
MultiIndex
将其追加到数据中:

arr = np.array([[1, 1],[1, 1]]) 

df1 = pd.DataFrame(arr, 
                   index=df.index, 
                   columns= pd.MultiIndex.from_product([df.columns.levels[0], [3]]))

df = df.join(df1).sort_index(axis=1)
print (df)
          a                      b             
          1         2  3         1         2  3
0  0.281045  0.975469  1 -0.538213 -0.180008  1
1  0.128696  1.875480  1  0.247637 -0.047927  1

那么,我们读取多索引的技术是什么呢?我在堆栈溢出上发现了一个代码,它似乎有效,但似乎无效robust@sammywemmy-我在文本编辑器中更改数据,这不是一种很好的技术:(那么,你读取多索引的技术是什么呢?我在堆栈溢出上发现了一段代码,它似乎有效,但似乎无效robust@sammywemmy-我在文本编辑器中更改数据,不是很好的技术:(
arr = np.array([[1, 1],[1, 1]]) 

df1 = pd.DataFrame(arr, 
                   index=df.index, 
                   columns= pd.MultiIndex.from_product([df.columns.levels[0], [3]]))

df = df.join(df1).sort_index(axis=1)
print (df)
          a                      b             
          1         2  3         1         2  3
0  0.281045  0.975469  1 -0.538213 -0.180008  1
1  0.128696  1.875480  1  0.247637 -0.047927  1