python - 对带有字符串的 Pandas DF 观察执行数值运算
问题描述
我有一个名为“price”的 DataFrame 列,其中包含价格,其格式为“pw”或“pcm”(例如“600pcm”)。
prices = {'price': ["100pw","600pcm","321pw"]}
df = DataFrame(prices,columns=['price'])
df.head()
我希望能够将所有价格转换为每周价格。
理想情况下,会有一个循环函数将 pcm 数量转换为 pw,但我必须在转换 int 之前删除字符串部分。
我尝试通过列表理解在数周和数月内制作新的价格列表,但我如何将它们与正确的行索引匹配?
还尝试了 np.where 功能,但似乎不合适。
有什么想法吗?我是python的新手
解决方案
def pcm_to_pw(x):
return(3.14 * x)
convert_ = lambda x: pcm_to_pw(float(x[:-3])) if x.endswith('pcm') else float(x[:-2])
df['price'] = df['price'].apply(convert_)
当然,你需要调整pcm_to_pw
功能,因为我不知道转换规则。
推荐阅读
- sql - 如何使用 LIKE 而不是 IN 具有多个值?
- php - 数组未在 foreach 循环之外更新
- spring - 将哪种 Java 类型传递给 Criteria.all()?
- android - 为什么没有出现权限位置提醒?
- javascript - 使变量对用户完全不可见,直到他做了特定的事情
- barcode - zpl 我如何在条形码内插入 de 条形码值?
- python - set_until 方法不适用于 TwitterUserOrder()
- php - 每个循环的 PHP 打印出“print(2)”
- excel - 下移到过滤数据vba excel的下一行
- node.js - 如何使用 Axios 检查 MongoDB 中的现有值?