作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的数据集有很多列包含带有逗号的 $values,例如150,000.50 美元。导入数据集后:
datasets = pd.read_csv('salaries-by-college-type.csv')
由于这些列中的一堆值作为 $ 值,输入器对象失败。如何在python程序中更正它
这是我的数据集。除了学校类型之外,其余所有的 $ 值都带有逗号。是否有一种通用方法可以从这些列值中删除这些 $ 和逗号
School Type 269 non-null object
Starting Median Salary 269 non-null float64
Mid-Career Median Salary 269 non-null float64
Mid-Career 10th Percentile Salary 231 non-null float64
Mid-Career 25th Percentile Salary 269 non-null float64
Mid-Career 75th Percentile Salary 269 non-null float64
Mid-Career 90th Percentile Salary 231 non-null float64
这是我的数据集的示例:
School Type Starting Median Salary Mid-Career Median Salary Mid-Career 10th Percentile Salary Mid-Career 25th Percentile Salary Mid-Career 75th Percentile Salary Mid-Career 90th Percentile Salary
Engineering $72,200.00 $126,000.00 $76,800.00 $99,200.00 $168,000.00 $220,000.00
Engineering $75,500.00 $123,000.00 N/A $104,000.00 $161,000.00 N/A
Engineering $71,800.00 $122,000.00 N/A $96,000.00 $180,000.00 N/A
Engineering $62,400.00 $114,000.00 $66,800.00 $94,300.00 $143,000.00 $190,000.00
Engineering $62,200.00 $114,000.00 N/A $80,200.00 $142,000.00 N/A
Engineering $61,000.00 $114,000.00 $80,000.00 $91,200.00 $137,000.00 $180,000.00
最佳答案
假设您有一个如下所示的 csv。
注意:我真的不知道你的 csv 是什么样的。确保相应地调整 read_csv
参数。最具体的是 sep
参数。
h1|h2
a|$1,000.99
b|$500,000.00
在pd.read_csv
中使用converters
参数
传递一个字典,其中要转换的列的名称作为键,并将执行转换的函数作为值。
pd.read_csv(
'salaries-by-college-type.csv', sep='|',
converters=dict(h2=lambda x: float(x.strip('$').replace(',', '')))
)
h1 h2
0 a 1000.99
1 b 500000.00
<小时/>
或者假设您已经导入了数据框
df = pd.read_csv(
'salaries-by-college-type.csv', sep='|'
)
然后使用pd.Series.str.replace
df.h2 = df.h2.str.replace('[^\d\.]', '').astype(float)
df
h1 h2
0 a 1000.99
1 b 500000.00
<小时/>
或pd.DataFrame.replace
df.replace(dict(h2='[^\d\.]'), '', regex=True).astype(dict(h2=float))
h1 h2
0 a 1000.99
1 b 500000.00
关于python - 如何从Python中的列值中删除$符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46596599/
我是一名优秀的程序员,十分优秀!