我正在寻找一种方法来从加载的数据帧中提取构建数据帧的代码。
请考虑以下流程。
# 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相同)。
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,假设我一开始没有代码。
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笔记本文档,而无需引用任何外部内容。并允许数据分析的完全自我维持的可复制性。
发布于 2019-02-17 23:16:16
您可以分别使用df.to_dict('list')和df.index获取以下信息:
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 8https://stackoverflow.com/questions/54734561
复制相似问题