我有以下数据:
样本数据:
pd.DataFrame({'Candidate_id': pd.Series([533334, 533334, 533334, 533334, 533334],dtype='int64',index=pd.RangeIndex(start=0, stop=5, step=1)), 'SkillMatch': pd.Series([0.0, 0.0, 0.0, 0.0, 0.0],dtype='float64',index=pd.RangeIndex(start=0, stop=5, step=1)), 'Hired_User_id': pd.Series([533441, 634908, 635261, 635309, 635575],dtype='int64',index=pd.RangeIndex(start=0, stop=5, step=1))}, index=pd.RangeIndex(start=0, stop=5, step=1))`
我进行了以下转换以获得所需的数据,该数据返回一个列表
for i in d['Candidate_id'].unique():
rand_candidates.append(d[d['Candidate_id'] == i].sample(n = 1, random_state=7)) `
而且,我想将列表rand_candidates
中的数据转换为DataFrame
我尝试了
pd.DataFrame(data=rand_candidates, columns = ["Candidate_id", "SkillMatch", "Hired_User_id"])
但是它给出了一个KeyError,我不明白为什么。
rand_sample[0]
返回我需要的数据帧的单行,但是由于它来自列表,因此我无法对其进行进一步的操作,因此它没有用:
Slice of list
答案 0 :(得分:0)
您的for i in range( 16 ):
x, y = grid_locations[ i ]
image = memory_images[ random_locations[ i ] ]
screen.blit( image, ( x, y ) )
中的项目是dataframe,这就是为什么dataframe构造函数不起作用的原因,我们应该使用list
concat
答案 1 :(得分:0)
为什么要转换为列表,您可以这样做:
d[d['Candidate_id'] == i].sample(n = 1, random_state=7)
and
d[d['Candidate_id'] == i].sample(n = 1, random_state=7).to_csv()
获取所需的数据框以及可以重新读取的格式。希望对您有帮助