如何将列表转换为Pandas Dataframe? pd.DataFrame在此列表结构上不起作用

时间:2019-11-18 00:29:12

标签: python pandas dataframe

我有以下数据:

样本数据:

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

2 个答案:

答案 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()

获取所需的数据框以及可以重新读取的格式。希望对您有帮助