如何從具有列名和值的熊貓資料框生成串列作為嵌套串列?這是我的資料框:
a b c d
0 1 5 9 13
1 2 6 10 14
2 3 7 11 15
3 4 8 12 16
我想生成一個串列
list1 = [[a,1], [a,2], [a,3],[a,4]]
list2 = [[b,5], [b,6], [b,7],[b,8]]
uj5u.com熱心網友回復:
可以為此使用串列推導。
為了
list1list1 = [[a, b] for a, b in zip(['a'] * len(df), df['a'])] [Out]: [['a', 1], ['a', 2], ['a', 3], ['a', 4]]對于
list2:list2 = [[a, b] for a, b in zip(['b'] * len(df), df['b'])] [Out]: [['b', 5], ['b', 6], ['b', 7], ['b', 8]]
uj5u.com熱心網友回復:
您可以執行以下操作:
import pandas as pd
df = pd.DataFrame(
{'a': {0: 1, 1: 2, 2: 3, 3: 4},
'b': {0: 5, 1: 6, 2: 7, 3: 8},
'c': {0: 9, 1: 10, 2: 11, 3: 12},
'd': {0: 13, 1: 14, 2: 15, 3: 16}})
lists = [[[c,x] for x in col] for c,col in df.iteritems()]
print(lists[0]) # [['a', 1], ['a', 2], ['a', 3], ['a', 4]]
print(lists[1]) # [['b', 5], ['b', 6], ['b', 7], ['b', 8]]
lists是一個串列,其中包含與每一列對應的結果。
uj5u.com熱心網友回復:
lst = []
df.apply(lambda x:lst.append([[x.name,i] for i in x]))
print(*lst, sep='\n')
[['a', 1], ['a', 2], ['a', 3], ['a', 4]]
[['b', 5], ['b', 6], ['b', 7], ['b', 8]]
[['c', 9], ['c', 10], ['c', 11], ['c', 12]]
[['d', 13], ['d', 14], ['d', 15], ['d', 16]]
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/527756.html
上一篇:查找所有主題標簽
