熊猫:数据框存储在数据框中

2024-05-08 04:32:49 发布

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

我对Pandas比较陌生,目前在尝试将数据帧插入数据帧时遇到了一个问题。在

我想做的是: 我有多个模拟和相应的信号文件,我希望它们都在一个大数据帧中。所以我想要一个包含所有模拟参数和信号的数据帧。应该是这样的:

SimName | Date | Parameter 1 | Parameter 2 |  Signal 1 |  Signal 2 |
Name 1  | 123  | XYZ         | XYZ         | DataFrame | DataFrame |
Name 2  | 456  | XYZ         | XYZ         | DataFrame | DataFrame |

其中SimName是大数据帧的索引,信号1和信号2中的每个条目都是一个单独的数据帧。在

我的想法是这样实施:

^{pr2}$

但这会导致值错误:

Incompatible indexer with DataFrame

在Pandas中有可能有这种嵌套的数据帧吗?在

尼科


Tags: 文件数据namedataframepandas参数datesignal
3条回答

ns63sr's answer结尾引用的“指针”可以实现为一个类,例如。。。在

定义:

class df_holder:
    def __init__(self, df): 
        self.df = df

设置:

^{pr2}$

获取:

df.loc[0].df_holder.df

docs表示只有Series可以在DataFrame内。但是,传递DataFrames似乎也可以。下面是一个假设没有列在MultiIndex中的示例:

import pandas as pd

signal_df = pd.DataFrame({'X': [1,2,3],
                          'Y': [10,20,30]}  )

big_df = pd.DataFrame({'SimName': ['Name 1','Name 2'],
                       'Date ':[123  , 456 ],
                       'Parameter 1':['XYZ', 'XYZ'],
                       'Parameter 2':['XYZ', 'XYZ'],
                       'Signal 1':[signal_df, signal_df],
                       'Signal 2':[signal_df, signal_df]}  )

big_df.loc[0,'Signal 1']
big_df.loc[0,'Signal 1'][X]

这将导致:

^{pr2}$

如果嵌套的数据帧不能正常工作,您可以实现存储在big_df中的某种指针,这些指针允许您访问存储在别处的信号数据帧。在

您应该使用

big_DataFrame.loc['Name 1','Signal 1']

相关问题 更多 >