【挑战阿里面试题-10种方法实现DataFrame转list】

我承认有点标题党,题目不是阿里出的,来自群友的求助,我结合群友答案,目前已经到了第9

 

 

 

源数据:

 

 要求输出列表:[('A', 44), ('B', 22), ('C', 43)]

# 1
[(i[1],i[2]) for i in df.itertuples()]
# 2
[(i,j) for i,j in zip(df.Name,df.Score)]
# 2.1
[i for i in zip(df.Name,df.Score)]
# 3
def func(df):
    return (df.Name,df.Score)
df.apply(func,axis=1).tolist()
# 4
df.apply(lambda x:(x['Name'],x['Score']),axis=1).tolist()
# 5
[tuple(df.iloc[index]) for index in range(len(df))]
# 6
list(zip(df['Name'], df['Score'])) 
# 7
[tuple(np) for np in df.to_numpy()]
# 8
[tuple(val) for val in df.values]
# 9
[tuple(val)[1:] for val in df.to_records()]

 

 

 

 

 第10种,我暂时也没想出来,留个阿里人去研究吧。

 

posted @ 2021-10-23 11:01  HuaBro  阅读(159)  评论(0编辑  收藏  举报