[英]creating a list of tuples from dataframe entries
我有一個 dataframe df
:
movie_title director_name ... oscar_wins oscar_nominees
El Mariachi Robert Rodriguez ... 0 0
My Date with Drew Jon Gunn ... 0 0
我想要做的是創建一個元組列表,其中每個元組都是 dataframe 的一行。 所以 output 必須看起來像這樣:
[(El Mariachi, Robert Rodriguez, ... , 0, 0), (My Date with Drew, Jon Gunn, ..., 0, 0) ...]
我已經嘗試過迭代長度和列名,但沒有成功。
list(zip(range(len(df)), column_names)
雖然我知道為什么它不起作用,但我不確定如何實現我想要的。 有沒有人可以幫助我或為我提供修復?
謝謝,非常感謝!
列表理解的解決方案:
L = [tuple(x) for x in df.values.tolist()]
print (L)
[('El Mariachi', 'Robert Rodriguez', 0, 0), ('My Date with Drew', 'Jon Gunn', 0, 0)]
只需將列表中的值和map
內部列表返回到元組:
list(map(tuple,df.values.tolist()))
# [('El Mariachi', 'Robert Rodriguez', 0, 0), ('My Date with Drew', 'Jon Gunn', 0, 0)]
你也可以這樣做:
[tuple(x) for x in df.to_numpy()]
# [('El Mariachi', 'Robert Rodriguez', 0, 0), ('My Date with Drew', 'Jon Gunn', 0, 0)]
to_records()
:df.to_records(index=False).tolist()
all_rows=[]
for index, row in df.iterrows():
all_rows.append(tuple(row))
說明:使用 for 循環和 iterrows(),可以遍歷 dataframe。 兩個元素索引(表示 df 的索引)和行(描述樣本的行,它是一個列表)。 現在使用 tuple(),將此行(列表類型對象)轉換為新列表“all_rows”中的元組和 append
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.