我从台湾证券交易所获得台湾证券交易所的价格。
df = pd.read_csv(r'C:\Stock\TWSE.csv',encoding='Big5')
df.head()
日期 開盤指數 最高指數 最低指數 收盤指數
0 96/02/01 7,751.30 7,757.63 7,679.78 7,701.54
1 96/02/02 7,754.16 7,801.63 7,751.53 7,777.03
2 96/02/05 7,786.77 7,823.94 7,772.05 7,783.12
3 96/02/06 7,816.30 7,875.75 7,802.94 7,875.75
4 96/02/07 7,894.77 7,894.77 7,850.06 7,850.06
df.loc[0][2]
'7,757.63'
type(df.loc[0][2])
str
我想将str类型转换为float类型以进行绘图。 但是,我无法转换它们。例如:
float(df.loc[0][2])
ValueError: could not convert string to float: '7,757.63'
答案 0 :(得分:1)
sc.get_offsets()
与几乎所有其他pd.read_csv
函数一样,都有一个pd.read_*
参数,您可以将其设置为thousands
,以确保将这些值导入为浮点数
以下是一个例子:
','
收率:
import io
import pandas as pd
txt = '日期 開盤指數 最高指數 最低指數 收盤指數\n0 96/02/01 7,751.30 7,757.63 7,679.78 7,701.54\n1 96/02/02 7,754.16 7,801.63 7,751.53 7,777.03\n2 96/02/05 7,786.77 7,823.94 7,772.05 7,783.12\n3 96/02/06 7,816.30 7,875.75 7,802.94 7,875.75\n4 96/02/07 7,894.77 7,894.77 7,850.06 7,850.06'
with io.StringIO(txt) as f:
df = pd.read_table(f, encoding='utf8', header=0, thousands=',', sep='\s+')
print(df)
我希望这证明是有帮助的。
答案 1 :(得分:0)
float(df.loc[0][2].replace(',',''))