作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我的数据框中有一列,其值类似于“3.456B”,它实际上代表 34.56 亿(和百万的类似表示法)。如何将这种字符串形式转换为正确的数字表示形式?
这显示了数据框:
import pandas as pd
data_csv = pd.read_csv('https://biz.yahoo.com/p/csv/422conameu.csv')
data_csv
这是一个示例值:
data_csv['Market Cap'][0]
type(data_csv['Market Cap'][0])
我试过这个:
data_csv.loc[data_csv['Market Cap'].str.contains('B'), 'Market Cap'] = data_csv['Market Cap'].str.replace('B', '').astype(float).fillna(0.0)
data_csv
但不幸的是,还有一些值的末尾带有“M”,表示百万。它返回错误如下:
ValueError: invalid literal for float(): 6.46M
如何在此列中用适当的值替换 B 和 M?有更好的方法吗?
最佳答案
我会使用字典来替换字符串,然后计算为 float 。
mapping = dict(K='E3', M='E6', B='E9')
df['Market Cap'] = pd.to_numeric(df['Market Cap'].replace(mapping, regex=True))
关于python - 如何在 Python 中将表示为字符的数字简称为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43121175/
在 java 中大量使用泛型进行编程时,通常会有许多嵌套的泛型: List>> my_list= new LinkedList>>(); 虽然这“有效”,但结果代码的可读性受到影响。有没有办法避免这
要将版本号连接到Info.plist中的“捆绑包显示名称”参数,我想知道“捆绑包版本字符串,简称”的原始名称。 最佳答案 从Core Foundation Keys: CFBundleShortVer
有什么方法可以从中获取3个字符的代码系统.TimeZoneInfo.Local? 例如EDT 而不是东部夏令时等 最佳答案 不幸的是,据我所知,没有简单的内置方法可以做到这一点。但是,您可以自己组装一
假设我有一个 vector std::vector A; 我可以通过 . 访问它的成员函数运算符,我可以用 [] 索引它运算符(operator)。如果我有一个指向 vector 的指针,例如 std
我是一名优秀的程序员,十分优秀!