如何解决如何从float dtype对象中删除“ $”符号,但在Pandas中包含带有“ $”符号的值
我从Excel文件中导入了以下dataframe
。 “市值”和“最后一笔交易”列均显示浮动类型,但在值前面包含$符号。我认为这很奇怪(任何解释?)。当我尝试使用.replace
摆脱$时方法,因为列是浮点型,所以不会产生结果。
在导入Excel工作表时,是否可以直接摆脱$符号?或者,如何删除它而不实际将类型转换为字符串格式(因为那之后,我必须在删除$符号后将列重新转换为再次浮动)。赞赏输入。
amex = pd.read_excel('listings.xlsx',sheet_name='amex',na_values='n/a')
print(amex.info())
print(amex.head())
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 360 entries,0 to 359
Data columns (total 7 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Stock Symbol 360 non-null object
1 Company Name 360 non-null object
2 Last Sale 346 non-null float64
3 Market Capitalization 360 non-null float64
4 IPO Year 105 non-null float64
5 Sector 238 non-null object
6 Industry 238 non-null object
dtypes: float64(3),object(4)
memory usage: 19.8+ KB
None
Stock Symbol Company Name Last Sale Market Capitalization IPO Year Sector Industry
0 XXII 22nd Century Group,Inc $1.33 $120,628,490.29 $nan Consumer Non-Durables Farming/Seeds/Milling
1 FAX Aberdeen Asia-Pacific Income Fund Inc $5.00 $1,266,332,595.00 $1,986.00 NaN NaN
2 IAF Aberdeen Australia Equity Fund Inc $6.15 $139,865,304.90 $nan NaN NaN
3 CH Aberdeen Chile Fund,Inc. $7.22 $67,563,457.57 $nan NaN NaN
4 ABE Aberdeen Emerging Markets Smaller Company Oppo... $13.36 $128,842,971.60 $nan NaN NaN
解决方法
在.replace
之后,使用.astype(float)
将替换字符串转换为float:
df['col_name'] = df['col_name'].str.replace('$','').astype(float)
,
尝试一下:
df['Last Sale'] = pd.to_numeric(df['Last Sale'].str.replace('$',''))
df['Market Capitalization'] = df['Market Capitalization'].str.replace('[\$,]','',regex=True)
df['IPO Year'] = df['IPO Year'].str.replace('\$nan','')
df['IPO Year'] = pd.to_numeric(df['IPO Year'].str.replace('[\$,''))
print(df)
Stock Symbol Company Name Last Sale Market Capitalization IPO Year Sector Industry
0 XXII 22nd Century Group,Inc 1.33 120628490.29 NaN Consumer Non-Durables Farming/Seeds/Milling
1 FAX Aberdeen Asia-Pacific Income Fund Inc 5.00 1266332595.00 1986.0 NaN NaN
2 IAF Aberdeen Australia Equity Fund Inc 6.15 139865304.90 NaN NaN NaN
3 CH Aberdeen Chile Fund,Inc. 7.22 67563457.57 NaN NaN NaN
4 ABE Aberdeen Emerging Markets Smaller Company Oppo... 13.36 128842971.60 NaN NaN NaN
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。