pandas.Series.replace 未与 yfinance 合作
pandas.Series.replace not working with yfinance
从 Yahoo Finance (yfinance) 导入数据后,我无法从系列中删除美元符号。有谁知道我做错了什么?这是我的代码。
import yfinance as yf
start_date = '2016-01-01'
yf_eth_df = yf.download('ETH-USD',start_date, today)
yf_eth_df = yf_eth_df.reset_index()
yf_eth_df.tail()
我创建了一个自定义列来获取开盘值和最高值之间的百分比变化。
输出为:
Date Open High Low Close Adj Close Volume variation_open_high
0 2017-11-09 8.64 9.45 7.06 0.88 0.88 893249984 .32
1 2017-11-10 0.67 4.72 4.54 9.25 9.25 885985984 .25
2 2017-11-11 8.59 9.45 8.19 4.68 4.68 842300992 .53
3 2017-11-12 4.69 9.15 8.51 7.91 7.91 1613479936 .40
4 2017-11-13 7.02 8.42 7.02 6.72 6.72 1041889984 .51
出于某种原因,正在使用 $
符号创建数据框。我想使用 yf_eth_df['variation_open_high'] = yf_eth_df['variation_open_high'].replace("$", '')
从我的最后一列中删除它,但它不起作用。
Series.replace
仅替换完全匹配的值。要替换子字符串,请使用 Series.str.replace
yf_eth_df['variation_open_high'] = yf_eth_df['variation_open_high'].str.replace("$", '', regex=False)
请注意,删除美元符号后,值仍然是字符串。看起来你希望它们作为浮点数,所以你必须显式转换它们
yf_eth_df['variation_open_high'] = (
yf_eth_df['variation_open_high'].str.replace("$", '', regex=False)
.astype(float)
)
从 Yahoo Finance (yfinance) 导入数据后,我无法从系列中删除美元符号。有谁知道我做错了什么?这是我的代码。
import yfinance as yf
start_date = '2016-01-01'
yf_eth_df = yf.download('ETH-USD',start_date, today)
yf_eth_df = yf_eth_df.reset_index()
yf_eth_df.tail()
我创建了一个自定义列来获取开盘值和最高值之间的百分比变化。
输出为:
Date Open High Low Close Adj Close Volume variation_open_high
0 2017-11-09 8.64 9.45 7.06 0.88 0.88 893249984 .32
1 2017-11-10 0.67 4.72 4.54 9.25 9.25 885985984 .25
2 2017-11-11 8.59 9.45 8.19 4.68 4.68 842300992 .53
3 2017-11-12 4.69 9.15 8.51 7.91 7.91 1613479936 .40
4 2017-11-13 7.02 8.42 7.02 6.72 6.72 1041889984 .51
出于某种原因,正在使用 $
符号创建数据框。我想使用 yf_eth_df['variation_open_high'] = yf_eth_df['variation_open_high'].replace("$", '')
从我的最后一列中删除它,但它不起作用。
Series.replace
仅替换完全匹配的值。要替换子字符串,请使用 Series.str.replace
yf_eth_df['variation_open_high'] = yf_eth_df['variation_open_high'].str.replace("$", '', regex=False)
请注意,删除美元符号后,值仍然是字符串。看起来你希望它们作为浮点数,所以你必须显式转换它们
yf_eth_df['variation_open_high'] = (
yf_eth_df['variation_open_high'].str.replace("$", '', regex=False)
.astype(float)
)