python - 我怎样才能用空格分割这个数据框?

标签 python pandas

如何将此数据框转换为按 numpy.nan 行拆分的数据框字典?

import pandas
import numpy
names = ['a', 'b', 'c']
df = pandas.DataFrame([1,2,3,numpy.nan, 4,5,6,numpy.nan, 7, 8,9])
>>> df

      0
0   1.0
1   2.0
2   3.0
3   NaN
4   4.0
5   5.0
6   6.0
7   NaN
8   7.0
9   8.0
10  9.0

期望的输出:

df_dict = {'a': <df1>, 'b': <df2>, 'c': <df3>}

df1 =

      0
0   1.0
1   2.0
2   3.0

df2 = 

4   4.0
5   5.0
6   6.0

df3 = 

8   7.0
9   8.0
10  9.0

最佳答案

字典理解groupby一起使用:

d = {names[i]: x.dropna() for i, x in df.groupby(df[0].isnull().cumsum())}

{'c':      0
0  7.0
1  8.0
2  9.0, 'b':      0
0  4.0
1  5.0
2  6.0, 'a':      0
0  1.0
1  2.0
2  3.0}

print (d['a'])
     0
0  1.0
1  2.0
2  3.0

print (d['b'])
     0
4  4.0
5  5.0
6  6.0

print (d['c'])
      0
8   7.0
9   8.0
10  9.0

关于python - 我怎样才能用空格分割这个数据框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46053985/

相关文章:

python - 如何获取 Pandas DataFrame 中的值索引?

python - scikit learn 的 fit_transform 是否也会转换我的原始数据框?

python - Pandas DataFrame 和系列的矩阵乘法

python - 如何使用 Flask/SQLAlchemy 将返回结果的数量限制为仅 1000 个最新条目?

python - 使用权重文件离线加载keras resnet50模型失败

python - 了解街道地址的 Pyparsing

python - 如何使用 pymongo 对 mongodb 进行排序

python - 不是有效的 Win32 应用程序...Python、PyInstaller、Windows7

python - Pandas 按开始/结束值分组

python - 根据fuzzywuzzy比率返回对应行