【问题标题】:How to introduce new index values in a data frame?如何在数据框中引入新的索引值?
【发布时间】:2019-10-13 07:00:24
【问题描述】:

我有以下数据框,print(df_74034.head(10))是:

                          HumExamRoom                      HumTechRoom Machine  TempExamRoom TempTechRoom
                                   NaN  2017-08-18\t09:22:33\t65.9   74034           NaN          NaN
                                   NaN  2017-10-03\t11:08:26\t60.5   74034           NaN          NaN
2018-02-17\t01:45:24          NaN                             69.7   74034           NaN          NaN
2018-02-17\t01:45:55          NaN                             67.5   74034           NaN          NaN
2018-02-17\t01:46:29          NaN                             65.4   74034           NaN          NaN
2018-02-17\t01:47:20          NaN                             63.3   74034           NaN          NaN
2018-02-17\t01:48:35          NaN                             61.3   74034           NaN          NaN
2018-02-17\t01:49:08          NaN                             63.4   74034           NaN          NaN
2018-02-17\t01:49:31          NaN                             65.5   74034           NaN          NaN
2018-02-17\t01:49:55          NaN                             67.6   74034           NaN          NaN

(前两行有点乱) 如您所见,索引中的前两个单元格根本没有值,因为它们的值在第二列中,这可能是我的代码的错误 - 我不想再更改了。因此,我想分别在索引单元格中引入值2017-08-18\t09:22:33\t和`2017-08-18\t09:22:33\t',并对其进行排序。为了排序,我还必须将其更改为正确的日期/时间格式。

我已经尝试过df_74034.index.insert(0, '2017-08-18\t09:22:33'),但没有成功。我感谢您的帮助!

【问题讨论】:

  • 在导入数据的文本文件中,您可能有一个表格而不是空格,而不是代码?
  • @Valentino 也许......我会检查它。但显然不是。
  • 要插入空索引,您可以使用 datetime 和 set_index 再次创建新系列。要按日期时间排序,它应该是正确的格式,我不明白为什么在日期时间之间有 \t。
  • @xanjay \t 只是我从中获取所有数据的 txt 文件中的格式。

标签: python pandas datetime indexing insert


【解决方案1】:

你可以用其他方式执行它-

df = 数据框名称,在您的情况下为 df_74034。

  1. 您可以尝试使用 df.reset_index() 将当前索引值放置为整数,并创建现有索引值的列。
  2. 为要设置为索引的值创建一个新列。假设列的名称是 ABC
  3. 然后,您可以使用 df.set_index('ABC',inplace=True) 使用 ABC 列中的值创建一个新索引。

希望对大家有所帮助。

【讨论】:

  • 嘿,谢谢!那是一种选择!我会试试看。我宁愿寻找一种将这些值从第二列获取到索引中的方法。但这似乎是一件很难的事情。再次感谢您!
  • 它没有用。 :( 显然是因为在我的代码中我已将日期/时间设置为索引。我不知道。它应该可以工作但没有。我将不得不尝试另一件事...:/
  • 你的意思是说df。 reset_index() 在你的情况下失败了?
  • df.reset_index(level=0, inplace=True) 成功了! :D
  • 我正在尝试使用df_74034.replace({'data/hora': {0: '2017-08-18\t09:22:33', 1: '2017-10-03\t11:08:26'}}, inplace=True) 更改这两个空值。但是不工作!! :(
猜你喜欢
  • 2021-12-10
  • 2015-09-08
  • 2015-02-22
  • 2020-04-16
  • 1970-01-01
  • 1970-01-01
  • 2018-10-04
  • 2021-02-14
相关资源
最近更新 更多