簡體   English   中英

如何從數據框列中形成元組列表

[英]How to form list of tuples from a Dataframe column

我有以下熊貓數據框 df ,前幾個條目是:

     Input      Output
0    hj1234        2
1    gu0998        5
2    iu5678        7
3    56h781        11

我需要將它轉換為 2 個單獨的列表元組,如下所示:

my_inputs = [
   (h, j, 1, 2, 3, 4), 
   (g, u, 0, 9, 9, 8), 
   (i, u, 5, 6, 7, 8), 
   (5, 6, h, 7, 8, 1)]'
my_outputs =[(2,),
             (5,),
             (7,),
             (11,)]

我已經使用 concatenate 函數在 excel 中嘗試了這一點,但是該函數的最大長度為可以在一行中連接的字符數。 所以我試圖用 python 來做。 請協助

如果你真的想要,這可以使用applymapzip來完成。

a, b = map(list, zip(*df.applymap(lambda x: (x, )).values.tolist()))   
a = list(map(tuple, [a_[0] for a_ in a]))

a
# [('h', 'j', '1', '2', '3', '4'),
#  ('g', 'u', '0', '9', '9', '8'),
#  ('i', 'u', '5', '6', '7', '8'),
#  ('5', '6', 'h', '7', '8', '1')]     
b
# [(2,), (5,), (7,), (11,)]

另一種選擇是單獨處理每一列。

a = list(map(tuple, df['Input']))
b = [(x, ) for x in df['Output']]

a
# [('h', 'j', '1', '2', '3', '4'),
#  ('g', 'u', '0', '9', '9', '8'),
#  ('i', 'u', '5', '6', '7', '8'),
#  ('5', '6', 'h', '7', '8', '1')]   
b
# [(2,), (5,), (7,), (11,)]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM