![](/img/trans.png)
[英]How can I sort a list based on a float inside each string in Python?
[英]How can I sort the float list
我正在編寫這段代碼來下載股票數據並查找給定時間跨度內價格的百分比變化。 在完成所有計算、檢索並將最終數據存儲在列表中之后,我想對更改列表進行排序,但我無法這樣做。 請幫我!
from pandas_datareader import data
import matplotlib.pyplot as plt
import pandas as pd
from datetime import date
import numpy as np
change=[]
today = date.today()
tickers = ['^GSPC', 'AAPL', 'MSFT', 'GOOG', 'MS', 'JPM']
for tick in tickers:
start_date = '2012-01-01'
end_date = today
dataset = data.DataReader(tickers, 'yahoo', start_date, end_date)
close=dataset['Close']
close_new=close.shift(1)
close2=close-close_new
close3=close2.dropna()
u=close.loc['2012-01-04',tick]
v=close.loc['2020-06-22',tick]
c=((v-u)/u)*100
change.append(c)
print(change.sort())
list.sort()
方法就地修改列表(並返回None
)。 通常它不如sorted()
方便 - 但如果您不需要原始列表,它的效率會稍高一些。 無論如何,您可以使用sorted
:
print(sorted(change))
或numpy.sort
:
print(np.sort(change))
sort()
function 不返回任何內容。 因此,請將最后一行更改為以下 2 行:
change.sort()
print(change)
如果你想得到一個新的排序列表,你也可以使用sorted
。
print(sorted(change))
您基本上可以使用sorted()
如果您只想對其進行排序以打印,則可以這樣做
print(sorted(change)) # Or whatever your list name
或者,如果您想重用列表,您可以重新定義變量
change = sorted(change)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.