列表的熊猫数据帧我想知道如何从名单列表的PD数据帧,在这种形式:生成列表
输入:
A=[['a','b','c'],['c','d','e'],['f','g','h']]
输出(在数据帧)
No content
0 'a'
0 'b'
0 'c'
1 'c'
1 'd'
1 'e'
2 'f'
2 'g'
2 'h'
列表的熊猫数据帧我想知道如何从名单列表的PD数据帧,在这种形式:生成列表
输入:
A=[['a','b','c'],['c','d','e'],['f','g','h']]
输出(在数据帧)
No content
0 'a'
0 'b'
0 'c'
1 'c'
1 'd'
1 'e'
2 'f'
2 'g'
2 'h'
你可以试试这个:
import pandas as pd
A1 = pd.DataFrame(A).stack().reset_index().drop('level_1', 1).rename(columns = {'level_0': "No", 0: "content"})
A1
# No content
#0 0 a
#1 0 b
#2 0 c
#3 1 c
#4 1 d
#5 1 e
#6 2 f
#7 2 g
#8 2 h
或者你可以先汇整清单,然后从它构造的数据帧:
dicA = {"No":[], "content":[]}
for i, s in enumerate(A):
for e in s:
dicA['No'].append(i)
dicA['content'].append(e)
import pandas as pd
pd.DataFrame(dicA)
# No content
#0 0 a
#1 0 b
#2 0 c
#3 1 c
#4 1 d
#5 1 e
#6 2 f
#7 2 g
#8 2 h
可以融化数据帧出示你想要的结果的转置。
import pandas as pd
>>> pd.melt(pd.DataFrame(A).T, var_name='No.', value_name='content')
No. content
0 0 a
1 0 b
2 0 c
3 1 c
4 1 d
5 1 e
6 2 f
7 2 g
8 2 h
清单上尝试这种使用ZIP():
df = pd.melt(pd.DataFrame(zip(*A))).rename(columns= {'variable':'no','value':'content' })
no content
0 0 a
1 0 b
2 0 c
3 1 c
4 1 d
5 1 e
6 2 f
7 2 g
8 2 h
如果答案的作品,请考虑upvoting它 – Merlin