Python 将数据帧划分为数据帧字典
我有一个数据框,其中包含大量信息,它们之间有一行要分隔的Python 将数据帧划分为数据帧字典,python,pandas,Python,Pandas,我有一个数据框,其中包含大量信息,它们之间有一行要分隔的nan。我想将我最初的大数据帧转换成一个数据帧字典,其中字典的元素是单独的块 前df: 0 1 2 3 4 x s a g g q r w l p z l w q k nan nan nan nan nan k u l p a m 1 l 9 0 o p q 1
nan
。我想将我最初的大数据帧转换成一个数据帧字典,其中字典的元素是单独的块
前df:
0 1 2 3 4
x s a g g
q r w l p
z l w q k
nan nan nan nan nan
k u l p a
m 1 l 9 0
o p q 1 7
我们的想法是利用这个数据帧,创建一个包含两个(或更多,如果有更多“块”)数据帧的数据帧字典
df1
df2
您可以尝试:
import more_itertools as mit
m = df.dropna(how='all')
l = [df.loc[i] for i in mit.consecutive_groups(m.index)]
print(l[0],'\n',l[1])
同样,对于字典,您可以使用:
import more_itertools as mit
m = df.dropna(how='all')
d = {f"df{e}":df.loc[i] for e,i in enumerate(mit.consecutive_groups(m.index))}
print(d['df0'],'\n\n',d['df1'])
import more_itertools as mit
m = df.dropna(how='all')
l = [df.loc[i] for i in mit.consecutive_groups(m.index)]
print(l[0],'\n',l[1])
0 1 2 3 4
0 x s a g g
1 q r w l p
2 z l w q k
0 1 2 3 4
4 k u l p a
5 m 1 l 9 0
6 o p q 1 7
import more_itertools as mit
m = df.dropna(how='all')
d = {f"df{e}":df.loc[i] for e,i in enumerate(mit.consecutive_groups(m.index))}
print(d['df0'],'\n\n',d['df1'])
0 1 2 3 4
0 x s a g g
1 q r w l p
2 z l w q k
0 1 2 3 4
4 k u l p a
5 m 1 l 9 0
6 o p q 1 7