请教 pandas的dataframe中,如何取某一列<每个>数据最后2位?

发布于 2022-09-12 03:38:34 字数 336 浏览 20 评论 0

我想取name列的后2位,type列的后2位,price列的小数点前2位

df = pd.DataFrame({('PG苹果', 'FT11', 17.8),
                   ('XJ香蕉', 'FT12', 32.06),
                   ('SY山药', 'VG91', 20.6)},
                  columns=('name', 'type','price'))

希望输出是这样,谢谢
name type price
苹果 11 17
香蕉 12 32
山药 91 20

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

迷离° 2022-09-19 03:38:34

name 和 type 都是字符串取后两位的方法都一样

df['name'] = df['name'].str[-2:]

df['type'] = df['type'].str[-2:]

price 是 float 类型转换成 int 就会丢弃小数点后面的值了

df['price'] = df['price'].astype(int)

价格如果直接丢弃小数点后的值会产生误差可以先四舍五入一下再转换

df['price'] = df['price'].round(0).astype(int)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文