在数据框中存储数据

时间:2015-07-04 09:29:11

标签: python r pandas dataframe

python的新手我正在努力将原始数据上的操作结合起来,并将它们存储在数据框中,然后再次使用pandas和R。

我的代码的一些例子:

if 'Subject' in f:
     for i in range (len(time)):
          (...)
                    if  Description[j] == 'response':  
                        RT.append(time[j] - time_stim)
                        motor_time.append(time[j] - time_response)                
                        break

我的原始数据是下面的.txt文件示例:

Type,Description,Time,Channel 
Categorie,PC,153,1,All 
Stimulus,S11,1510,1,All 
Stimulus,S202,3175,1,All 
Stimulus,EMG_Onset,3978,1,EMGL 
Stimulus,response,4226,1,All 
Categorie,CC,5785,1,All 
Stimulus,S11,7141,1,All 
Stimulus,S202,8807,1,All 
Stimulus,EMG_Onset,9549,1,EMGL
Stimulus,EMG_Onset,9965,1,EMGL 
Stimulus,response,10249,1,All

在这个例子中,我想将这段代码中的RT或motor_time存储在一个尚不存在的数据帧中,先用python然后用R来存储它。这个数据帧必须存储所有参数我所有的实验条件和主题

在这种情况下,所有结果都存储在数字np.array中,我不知道如何将它们与我之前创建的特定R代码一起使用。

感谢。

2 个答案:

答案 0 :(得分:1)

我首先要说的是,我认为没有任何理由让你把python和R混合起来。

如果您已经在R中进行了分析,则可以直接将TXT文件读入R数据框

df = read.csv("myfile.txt")
head(df)  # to display the first few rows of your data frame

您的第1,第2和第5列将转换为因子(如果需要,您可以更改它)。

如果你想要python,你可以将你的文件读入pandas DataFrame。

import pandas as pd
df = pd.read_csv("myfile.txt")
df.head()  # to display the first few rows of your data frame

如果这不是您问题的解决方案,请说明除此之外您还想要什么?

有一个rpy包允许你在python中使用R代码。无论如何,它需要额外的python编程代码。

关于将pandas数据框导入R:我将其保存为CSV文件或其他格式(另存为“保存在硬盘上”),然后在R中打开。但CSV文件是你最初得到的,所以没有意义对你而言。

答案 1 :(得分:0)

我终于找到了一个简单的方法,我可能不知道要搜索什么以及如何提问,但这是我的解决方案:

df_trans = pd.DataFrame({'Sujet': np.array(subj_id),
                   'Temps_moteur': np.array(motor_time),
                   'TR' : np.array(RT),
                   ...})

并保存并在R:

中使用它
df_trans.to_csv('x.csv')

谢谢熊猫!