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

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

我想取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


回答:

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)

以上是 请教 pandas的dataframe中,如何取某一列&lt;每个&gt;数据最后2位? 的全部内容, 来源链接: utcz.com/a/31841.html

回到顶部