簡體   English   中英

Pandas 顛倒行的順序

[英]Pandas reversing the orders of the rows

您好,我正在使用一個非常大的 csv 數據框和 pandas 我將如何反轉其中的列表? 下面的代碼在運行時分配row:0 = 15710.01row:1862 = 243.95我想反轉代碼,以便row:1862 = 15710.01row:0 = 243.95 代碼:

import pandas as pd
data =pd.read_csv('input.csv')
PC_close =data['Close']
PC_close

當前代碼的Output

0       15710.01
1       15710.87
2       15318.00
3       15348.20
4       15484.55
          ...   
1858      247.60
1859      249.50
1860      246.30
1861      245.39
1862      243.95
Name: Close, Length: 1863, dtype: float64

如果要在不反轉索引的情況下反轉值,可以使用

df[::-1].set_index(df.index)

最小重復

df = pd.DataFrame({'a': [1, 2, 3], 'b': [4, 5, 6]})
print (df)

   a  b
0  1  4
1  2  5
2  3  6

df2 = df[::-1].set_index(df.index)
print (df2)

   a  b
0  3  6
1  2  5
2  1  4

如果您有很多行,另一種效果很好的方法是就地重新分配。 這通常更快,但涉及直接使用 numpy (NumPandas)。

df[:] = df[::-1].to_numpy()  # modifies the original frame
# or 
# df[:] = df.to_numpy()[::-1]  # slightly faster  
print (df)  

   a  b
0  3  6
1  2  5
2  1  4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM