相关疑难解决方法(0)

构建3D Pandas DataFrame

我在Pandas中构建3D DataFrame时遇到了困难.我想要这样的东西

A               B               C
start    end    start    end    start    end ...
7        20     42       52     90       101
11       21                     213      34
56       74                     9        45
45       12
Run Code Online (Sandbox Code Playgroud)

where A,B等是顶级描述符,start并且end是subdescriptors.随后的数字是成对的,并且没有相同数量的对A,B等等.观察A有四个这样的对,B只有1,并且C有3个.

我不知道如何继续构建这个DataFrame.修改这个例子没有给我设计输出:

import numpy as np
import pandas as pd

A = np.array(['one', 'one', 'two', 'two', 'three', 'three'])
B = np.array(['start', 'end']*3)
C = [np.random.randint(10, 99, 6)]*6
df = pd.DataFrame(zip(A, B, C), …
Run Code Online (Sandbox Code Playgroud)

python pandas

21
推荐指数
2
解决办法
4万
查看次数

Pandas Dataframe或Panel to 3d numpy array

建立:

pdf = pd.DataFrame(np.random.rand(4,5), columns = list('abcde'))
pdf['a'][2:]=pdf['a'][0]
pdf['a'][:2]=pdf['a'][1]
pdf.set_index(['a','b'])
Run Code Online (Sandbox Code Playgroud)

输出:

                         c           d           e
a           b           
0.439502    0.115087     0.832546    0.760513    0.776555
            0.609107     0.247642    0.031650    0.727773
0.995370    0.299640     0.053523    0.565753    0.857235
            0.392132     0.832560    0.774653    0.213692
Run Code Online (Sandbox Code Playgroud)

每个数据系列按索引ID分组,ab表示其他功能的时间索引a.有没有办法让大熊猫产生反映a分组的numpy 3d数组?目前它将数据读取为二维pdf.shape输出(4, 5).我想要的是数组是变量形式:

array([[[-1.38655912, -0.90145951, -0.95106951,  0.76570984],
        [-0.21004144, -2.66498267, -0.29255182,  1.43411576],
        [-0.21004144, -2.66498267, -0.29255182,  1.43411576]],

       [[ 0.0768149 , -0.7566995 , -2.57770951,  0.70834656],
        [-0.99097395, -0.81592084, -1.21075386,  0.12361382]]])
Run Code Online (Sandbox Code Playgroud)

是否有本地Pandas方式来做到这一点?请注意,a实际数据中每个分组的行数是可变的,因此我不能只是转置或重塑pdf.values.如果没有本地方式,那么从数十万行和数百列迭代构建数组的最佳方法是什么?

python numpy pandas

3
推荐指数
2
解决办法
5150
查看次数

在 Pandas DataFrame 中存储 3 维数据

我是 Python 新手,我正在尝试了解如何使用 Pandas DataFrames 操作数据。我搜索了类似的问题,但没有看到任何满足我的确切需求的问题。如果这是重复的,请指出正确的帖子。

所以我有多个具有完全相同的形状、列和索引的 DataFrame。我如何将它们与标签结合起来,以便我可以轻松访问带有任何列/索引/标签的数据?

例如,在下面的设置之后,如何将 df1 和 df2 放入一个 DataFrame 并用名称“df1”和“df2”标记它们,以便我可以像 df['A']['df1'] 这样的方式访问数据['b'],并获取 df 的行数?

>>> import numpy as np
>>> import pandas as pd
>>> df1 = pd.DataFrame([[1, 2], [3, 4]], columns=['A', 'B'], index=['a', 'b'])
>>> df2 = pd.DataFrame([[5, 6], [7, 8]], columns=['A', 'B'], index=['a', 'b'])
>>> df1
   A  B
a  1  2
b  3  4
>>> df2
   A  B
a  5  6
b  7  8
Run Code Online (Sandbox Code Playgroud)

python pandas

2
推荐指数
1
解决办法
8483
查看次数

标签 统计

pandas ×3

python ×3

numpy ×1