我有一个包含 4 列和 251 行的 DataFrame 和一个索引,它是数字的级数,例如 1000 到 1250 。该索引最初是帮助连接来自 4 个不同数据帧的数据所必需的。但是,一旦我将 4 列放在一起,我想将索引更改为从 250 到 0 的数字级数。这是因为我将对不同的数据集(以 4 为一组)执行相同的操作,这将有不同的索引,例如 2000 到 2250 或 500 到 750,但都具有相同的行数。250 到 0 是统一这些数据集的一种方式,但我不知道如何做到这一点。即我正在寻找用函数 range(250, 0, -1) 替换任何现有索引的东西
我已经尝试使用下面的 set_index 和一大堆其他总是返回错误的尝试,
df.set_index(range(250, 0, -1), inplace=True)
Run Code Online (Sandbox Code Playgroud)
并且在我能够将 df 的索引设置为范围的情况下,4 列中的数据更改为 NaN,因为它们没有与新索引匹配的数据。如果这是基本的,我深表歉意,但我在 python/pandas 的世界里只有一个星期大,在 +10 年没有编程,并且花了 2 天的时间来尝试为自己解决这个问题,但它的时间哭……大叔!!
尝试先将 250:0 索引作为列引入,然后将它们设置为索引:
df = pd.DataFrame({'col1': list('abcdefghij'), 'col2': range(0, 50, 5)})
df['new_index'] = range(30, 20, -1)
df.set_index('new_index')
Run Code Online (Sandbox Code Playgroud)
前:
col1 col2 new_index
0 a 0 30
1 b 5 29
2 c 10 28
3 d 15 27
4 e 20 26
5 f 25 25
6 g 30 24
7 h 35 23
8 i 40 22
9 j 45 21
Run Code Online (Sandbox Code Playgroud)
后:
col1 col2
new_index
30 a 0
29 b 5
28 c 10
27 d 15
26 e 20
25 f 25
24 g 30
23 h 35
22 i 40
21 j 45
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11866 次 |
最近记录: |