ID A B C 1 34353 917998 x 2 34973 980340 x 3 87365 498097 x 4 98309 486547 x 5 87699 475132 6 52734 4298894 7 8749267 4918066 x 8 89872 18103 9 589892 4818086 y 10 765 4063 y 11 32369 418165 y12 206 2918137 13 554 3918072 14 1029 1918051 x15 2349243 4918064
对于每组空行,例如5,6我想创建一个新的数据框.需要生成多个数据帧.如下所示:
ID A B5 87699 475132 6 52734 4298894
ID A B8 89872 18103
ID A B12 206 2918137 13 554 3918072
ID A B15 2349243 4918064解决方法
isnull = df.C.isnull()partitions = (isnull != isnull.shift()).cumsum()gb = df[isnull].groupby(partitions)
此时,我们已经完成了为df中每个连续NaN组创建单独数据帧的目标.对于gb.groups中的每个键,可以通过gb.get_group()方法访问它们
为了验证,我们将连接显示.
keys = gb.groups.keys()dfs = pd.concat([gb.get_group(g) for g in keys],keys=keys)dfs
设置为df
我使用了@Alberto Garcia-Raboso的读者
import ioimport pandas as pd# Create your sample dataframedata = io.StringIO("""\ID A B C 1 34353 917998 x 2 34973 980340 x 3 87365 498097 x 4 98309 486547 x 5 87699 475132 6 52734 4298894 7 8749267 4918066 x 8 89872 18103 9 589892 4818086 y 10 765 4063 y 11 32369 418165 y12 206 2918137 13 554 3918072 14 1029 1918051 x15 2349243 4918064""")df = pd.read_csv(data,delim_whitespace=True)总结
以上是内存溢出为你收集整理的python-2.7 – Pandas:基于空行拆分数据框全部内容,希望文章能够帮你解决python-2.7 – Pandas:基于空行拆分数据框所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)