gpt4 book ai didi

python - 按组 Python 拆分 Dataframe

转载 作者:太空宇宙 更新时间:2023-11-03 14:34:27 24 4
gpt4 key购买 nike

我有一个 CSV 文件,其中包含来自偏好实验的评分数据。该文件相当基本,有 5 行,其中我需要 4 行(参与者、图像、流畅度、评级和版本)

我创建了一个数据框来隔离我需要的列,并按流畅度(1 和 4)分割框架,这样我就可以获得每个流畅度的组平均评分。

我无法弄清楚如何分割每个参与者的文件(每个人每个流利程度有 2 个偏好评级)以获得个人评级。

下面是我的代码供引用。

我在编码方面还很陌生,所以这可能不是最有效的方法。

谢谢

import pandas as pd
import numpy as np
# create dataframe from csv file and import only the colums you want
df = pd.read_csv('Pre-experiment.csv', usecols=[0,2,3,4])



pre_fluent = df[df['Fluency']== 1]
pre_disfluent = df[df['Fluency']==4]
pre_version1 = df[df['Version']==1]
pre_version2 = df[df['Version']==2]

print (pre_fluent)
print (pre_disfluent)
pre_mean_fluent = np.mean(pre_fluent)
pre_mean_disfluent = np.mean(pre_disfluent)
print (pre_mean_fluent)
print (pre_mean_disfluent)

df1 = pd.read_csv('Post-experiment.csv', usecols=[0,2,3,4])
#print (df)


post_fluent = df1[df['Fluency']== 1]
post_disfluent = df1[df['Fluency']==4]
post_version1 = df1[df['Version']==1]
post_version2 = df1[df['Version']==2]

print ("Dataframe sortted by fluency: {}".format(post_fluent))
print (post_disfluent)

post_mean_fluent = np.mean(post_fluent)
post_mean_disfluent = np.mean(post_disfluent)
print ("Post_Fluent Mean: {}".format(post_mean_fluent))
print ("Post_Disfluent Mean: {}".format(post_mean_disfluent))

最佳答案

可能的答案

尚不完全清楚您要查找的内容,但如果您需要按参与者对数据帧进行分组,请尝试使用 df.set_index 将其设置为索引:

df.set_index('Participant', inplace=True)

假设您有参与者 AB。您可以通过 df.loc 获取参与者 A 的所有 Fluency 值或df.iloc (用于按位置而不是名称进行引用):

fluency_A = df.loc['A']['Fluency']  # or df.loc['A', 'Fluency']

这可能在一定程度上取决于您的实际数据的格式,但希望它能让您接近您正在寻找的内容。

一个工作示例

# Make up some data that we can read into our dataframe.
data = io.StringIO("""Participant,Fluency,Other
A,1,5
A,2,5
B,3,6
B,4,6""")
# Read the data, set the index, and get Fluency for "A".
df = pd.read_csv(data)
df.set_index('Participant', inplace=True)
df.loc['A']['Fluency']
# Participant
# A 1
# A 2
# Name: Fluency, dtype: int64

编辑:正如评论中提到的,您也可以使用df.loc['A', 'Fluency'],但我遇到了一些问题当我有一个复杂的多索引时,我自己的工作中就会用到这个。这里使用的格式:df.loc[index_specation][column_specation] 似乎对我来说更一致。

关于python - 按组 Python 拆分 Dataframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47058108/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com