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代码一起使用。
感谢。
答案 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')
谢谢熊猫!