首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以从数据帧中提取构建数据帧的代码?

有没有一种方法可以从数据帧中提取构建数据帧的代码?
EN

Stack Overflow用户
提问于 2019-02-17 23:08:43
回答 1查看 23关注 0票数 0

我正在寻找一种方法来从加载的数据帧中提取构建数据帧的代码。

请考虑以下流程。

代码语言:javascript
复制
# Code to construct a df:

df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
'num_wings': [2, 0, 0, 0],
'num_specimen_seen': [10, 2, 1, 8]},
index=['falcon', 'dog', 'spider', 'fish'])

# Obtain the df output:

df
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
dog            4          0                  2
spider         8          0                  1
fish           0          0                  8

我正在寻找一个自动化的反向过程。假设我从df开始,我从一个csv文件加载它(下面的例子,与上面的df相同)。

代码语言:javascript
复制
df = 
pd.read_csv('/path_to_data/df.csv', sep='\t')
df
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
dog            4          0                  2
spider         8          0                  1
fish           0          0                  8

在这一点上,有没有一种方法来提取代码(如下所列),这将构造df,假设我一开始没有代码。

代码语言:javascript
复制
    df = pd.DataFrame({'num_legs': [2, 4, 8, 0],
    'num_wings': [2, 0, 0, 0],
    'num_specimen_seen': [10, 2, 1, 8]},
    index=['falcon', 'dog', 'spider', 'fish'])

这并不总是有用的,但出于某些可移植性的目的,我很好奇是否可以做到这一点。例如,这将允许共享一个jupyter笔记本文档,而无需引用任何外部内容。并允许数据分析的完全自我维持的可复制性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-17 23:16:16

您可以分别使用df.to_dict('list')df.index获取以下信息:

代码语言:javascript
复制
In [9]: df
Out[9]:
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
dog            4          0                  2
spider         8          0                  1
fish           0          0                  8

In [10]: df.to_dict('list')
Out[10]:
{'num_legs': [2, 4, 8, 0],
 'num_wings': [2, 0, 0, 0],
 'num_specimen_seen': [10, 2, 1, 8]}

In [11]: df.index
Out[11]: Index(['falcon', 'dog', 'spider', 'fish'], dtype='object')

In [12]: new_df = pd.DataFrame(df.to_dict('list'), index=df.index)

In [13]: new_df
Out[13]:
        num_legs  num_wings  num_specimen_seen
falcon         2          2                 10
dog            4          0                  2
spider         8          0                  1
fish           0          0                  8
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54734561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档