首页 > 解决方案 > 重新分配数据框的索引而不添加列

问题描述

试图将“时间”列放入索引并删除旧索引,以便我可以连接。问题是当我重新分配索引时,它会将“时间”移到开头并将旧索引添加为未命名列。

到目前为止我已经尝试过

df.drop('Untitled: 0.1')*它在 csv 上的显示方式

然后我尝试了这个,但它仍然对列没有任何作用

df = df.reset_index(drop=True)

df = df.set_index('time')

最后我尝试了这个(它确实摆脱了该列),但它也重置了索引并添加了另一列作为索引,所以当我再次“时间”索引时,我回到了相同的位置。

df = df.iloc[:,[0,2,3,4,5,6]]

这是df的代码和一些示例:

            df = pd.read_csv(file_path + '/' + ticker)
            df = df.reset_index(drop=True)
            df = df.set_index('time')
            df.to_csv(file_path + '/' + ticker)
            df = pd.read_csv(file_path + '/' + ticker)
            df = df.iloc[:,[0,2,3,4,5,6]]
            print(df)
            quit()
           time   open   high    low  close   volume
0    1554336000   4.12   4.13   3.96   4.11   213783
1    1554422400   3.97   4.09   3.85   3.97   313422
2    1554681600   3.91   4.03   3.86   3.99   134396
3    1554768000   3.97   4.06   3.89   3.97    35463
4    1554854400   3.97   4.13   3.95   4.10   178473
395  1603756800  13.99  14.31  13.84  13.98   615619
396  1603843200  13.59  13.76  13.27  13.38   513077
397  1603929600  13.39  13.89  13.33  13.55   911940
398  1604016000  13.40  13.59  12.55  12.89  1255169
399  1604275200  13.13  13.14  12.40  12.73  1004683

csv 内容(开始)

,open,high,low,close,volume,time
399,12.420000076294000,12.930000305176000,12.420000076294000,12.750000000000000,716193,1554336000
398,12.770000457764000,13.000000000000000,12.689999580383000,12.720000267028999,404353,1554422400
397,12.699999809265000,12.899999618530000,12.260000228882001,12.500000000000000,639136,1554681600
396,12.390000343322999,12.479999542236000,11.899999618530000,12.060000419617000,849788,1554768000
395,12.100000381470000,12.420000076294000,11.979999542236000,12.300000190735000,404267,1554854400
394,12.329999923706000,12.409999847412000,12.180000305176000,12.369999885559000,293689,1554940800
393,12.500000000000000,13.239999771117999,12.470000267028999,13.090000152588000,947110,1555027200
392,12.750000000000000,12.760000228882001,12.100000381470000,12.359999656677001,1121387,1555286400
391,12.359999656677001,12.880000114441000,12.359999656677001,12.640000343322999,613414,1555372800
390,12.829999923706000,12.949999809265000,12.350000381470000,12.569999694824000,609524,1555459200
389,12.520000457764000,12.829999923706000,12.520000457764000,12.590000152588000,349691,1555545600
388,12.460000038147000,12.539999961853000,12.060000419617000,12.369999885559000,630388,1555891200
387,12.409999847412000,12.579999923706000,12.300000190735000,12.399999618530000,460863,1555977600
386,12.399999618530000,12.810000419617000,12.239999771117999,12.779999732971001,493512,1556064000
385,12.750000000000000,12.750000000000000,12.329999923706000,12.409999847412000,370835,1556150400
384,12.409999847412000,12.649999618530000,12.300000190735000,12.579999923706000,405826,1556236800
383,12.609999656677001,12.699999809265000,12.430000305176000,12.439999580383000,264683,1556496000
382,12.420000076294000,12.539999961853000,12.220000267028999,12.520000457764000,337222,1556582400
381,12.590000152588000,12.779999732971001,12.250000000000000,12.270000457764000,617602,1556668800
380,12.289999961853000,12.550000190735000,11.869999885559000,12.090000152588000,719905,1556755200
379,12.100000381470000,12.630000114441000,12.050000190735000,12.600000381470000,574398,1556841600
378,12.250000000000000,12.750000000000000,12.189999580383000,12.689999580383000,493273,1557100800
377,12.500000000000000,12.630000114441000,12.010000228882001,12.079999923706000,799438,1557187200
376,12.069999694824000,12.340000152588000,11.899999618530000,12.060000419617000,1155857,1557273600
375,11.119999885559000,11.600000381470000,10.430000305176000,10.930000305176000,2239596,1557360000
374,10.810000419617000,11.060000419617000,10.300000190735000,10.710000038147000,965198,1557446400
373,10.369999885559000,10.449999809265000,9.920000076294000,10.159999847412000,830895,1557705600
372,10.250000000000000,10.529999732971000,10.189999580383000,10.380000114441000,600230,1557792000
371,10.250000000000000,10.430000305176000,9.989999771118198,10.010000228882001,601777,1557878400

time建立索引后的csv内容

time,Unnamed: 0,open,high,low,close,volume
1554336000,399,4.1199998855591,4.1300001144409,3.960000038147,4.1100001335144,213783
1554422400,398,3.9700000286102,4.0900001525879,3.8499999046326,3.9700000286102,313422
1554681600,397,3.910000085830701,4.0300002098083,3.859999895095799,3.9900000095367,134396
1554768000,396,3.9700000286102,4.0599999427795,3.890000104904201,3.9700000286102,35463
1554854400,395,3.9700000286102,4.1300001144409,3.9500000476837,4.0999999046326,178473
1554940800,394,4.1100001335144,4.1300001144409,4.0199999809265,4.0700001716614,121793
1555027200,393,4.0999999046326,4.0999999046326,3.9000000953674,3.9700000286102,155920
1555286400,392,4.0,4.0300002098083,3.4000000953674,3.5099999904633,521614
1555372800,391,3.5999999046326,3.7599999904633,3.5999999046326,3.6800000667572,223112
1555459200,390,3.7000000476837,3.710000038147,3.25,3.289999961853,297053
1555545600,389,3.3699998855591,3.4500000476837003,3.2799999713898,3.390000104904201,73880
1555891200,388,3.4500000476837003,3.5299999713898,3.390000104904201,3.4300000667572004,86210
1555977600,387,3.4500000476837003,3.5899999141692995,3.4400000572205003,3.5099999904633,170755
1556064000,386,3.539999961853,3.5499999523163,3.460000038147,3.5,76236
1556150400,385,3.4800000190735,3.5199999809265,3.3699998855591,3.4700000286102,52747
1556236800,384,3.4700000286102,3.5499999523163,3.420000076294,3.5099999904633,56448
1556496000,383,3.5499999523163,3.579999923706,3.4000000953674,3.460000038147,122287
1556582400,382,3.5199999809265,3.5299999713898,3.410000085830701,3.5,132701
1556668800,381,3.4900000095367,3.5,3.4300000667572004,3.460000038147,66950
1556755200,380,3.4500000476837003,3.4500000476837003,3.329999923706,3.359999895095799,78391
1556841600,379,3.359999895095799,3.539999961853,3.359999895095799,3.4900000095367,40613
1557100800,378,3.4800000190735,3.5899999141692995,3.460000038147,3.5499999523163,107244
1557187200,377,3.460000038147,3.5299999713898,3.410000085830701,3.5,64557
1557273600,376,3.5,3.5599999427795,3.4500000476837003,3.5,47465
1557360000,375,3.460000038147,3.6500000953674,3.4000000953674,3.609999895095799,198191
1557446400,374,3.5899999141692995,3.660000085830701,3.5099999904633,3.579999923706,52656
1557705600,373,3.5499999523163,3.5499999523163,3.4500000476837003,3.4900000095367,125606
1557792000,372,3.5099999904633,3.539999961853,3.410000085830701,3.5099999904633,57442
1557878400,371,3.4900000095367,3.5299999713898,3.390000104904201,3.5199999809265,47811
1557964800,370,3.4700000286102,3.539999961853,3.410000085830701,3.410000085830701,65141
1558051200,369,3.4000000953674,3.4800000190735,3.390000104904201,3.460000038147,44106
1558310400,368,3.5199999809265,3.539999961853,3.3099999427795,3.4500000476837003,100222
1558396800,367,3.4500000476837003,3.5499999523163,3.2699999809265,3.3399999141692995,154912
1558483200,366,3.3800001144409,3.4900000095367,3.3099999427795,3.359999895095799,36900

标签: pythonpandasdataframecsv

解决方案


我认为您确实需要提供 CSV 内容才能使这个问题得到解答,但您可以尝试使用pandas.read_csvindex_col的参数:

df = pd.read_csv(file_path + '/' + ticker, index_col=["time"])
df = df.iloc[:,[0,2,3,4,5,6]]
print(df)

usecols如果您只需要列的子集,您可能还需要考虑该参数。


推荐阅读