1
temp = 
           1             2             3             4             5
7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109
7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109
7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109
7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109  7.499 45.109

temp.info()给我Columns: 338 entries, 0 to 337

然后我做了以下操作来拆分我的数据:

df = temp.stack().str.split(' ', expand=True).unstack()

df.info()给我Columns: 674 entries, (0, 0) to (1, 337)


问题:

0 to 337接着1, 337

我的最后一篇专栏在哪里?如何获得所有这些?

4

2 回答 2

0

只需检查您的temp数据框的NaN价值。很可能你tempNaN价值观。默认stack丢弃NaN。要保留NaN,您需要指定dropna=False. 尝试跟随以查看是否df.info()显示 676 个条目

df = temp.stack(dropna=False).str.split(expand=True).unstack()
df.info()
于 2019-11-04T04:00:44.607 回答
0

DataFramedf有一个MultiIndex集合作为它的列。因此,例如,您应该能够使用以下命令访问来自原始第3 列第一部分的列:

df.loc[:, (0, 3)]
  • 列 ( level=0) 的外层取值 0 或 1,表示 的结果的第一部分或第二部分str.split()。(顺便说一下,str.split()默认情况下会在空格上拆分,因此您无需指定' '

  • 列的内部 ( level=1) 级别包含值 0 到 337

如果您更喜欢列中的单级索引,您可以重命名列df以指示它们的来源,如下所示:

df.columns = ['_'.join(map(str, c)) for c in df.columns]
于 2019-11-04T03:50:01.850 回答