[英]Join into one list in Python
我有一個像這樣處理的 DataFrame:
df = my_table[0]
df_position = df['Position'].replace({'-':','}, regex=True)
這給了我這樣的結果:
0 1,2,3,4
1 4,5,6,7
2 7,8,9,10
3 10,11,12,13
我怎樣才能將數據放在一個列表中,像這樣?
[1,2,3,4,4,5,6,7,7,8,9,10,10,11,12,13]
IIUC,您可以將值與 連接在一起,
然后將整個內容拆分為,
並將值轉換為int
:
[int(v) for v in ','.join(df_position).split(',')]
輸出:
[1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 12, 13]
如果您想直接對數據框進行操作,則可以改用它(在-
上加入和拆分):
[int(v) for v in '-'.join(df['Position']).split('-')]
輸出:
[1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 12, 13]
使用Series.str.split(',')
以逗號分隔值,然后調用explode
使其垂直變長,然后調用to_list
從中獲取列表。 使用df.iloc[:,0]
假設您對第一列的值感興趣。
>>> df.iloc[:,0].str.split(',').explode().astype('int').to_list()
[1, 2, 3, 4, 4, 5, 6, 7, 7, 8, 9, 10, 10, 11, 12, 13]
由於您已經將df_position
綁定到所需的特定列,因此您也應該能夠使用它。
df_position.str.split(',').explode().astype('int').to_list()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.