英文:
How to convert polars dataframe column type from float64 to int64?
问题
以下是您要翻译的内容:
我有一个polars数据框,如下:
import polars as pl
df = pl.DataFrame({"foo": [1.0, 2.0, 3.0], "bar": [11, 5, 8]})
如何将第一列转换为int64类型?
我尝试了一些方法,例如:
df.select(pl.col('foo')) = df.select(pl.col('foo')).cast(pl.Int64)
但它不起作用。
在Pandas中,这非常简单:
df['foo'] = df['foo'].astype('int64')
谢谢。
英文:
I have a polars dataframe, like:
import polars as pl
df = pl.DataFrame({"foo": [1.0, 2.0, 3.0], "bar": [11, 5, 8]})
How do I convert the first column to int64 type?<br>
I was trying something like:
df.select(pl.col('foo')) = df.select(pl.col('foo')).cast(pl.Int64)
but it is not working.<br>
In Pandas it was super easy:
df['foo'] = df['foo'].astype('int64')
Thanks.
答案1
得分: 4
将您的col
选择出来,将其转换为(int64
),然后添加回原始的DataFrame with_columns
。
df = df.with_columns(pl.col("foo").cast(pl.Int64))
输出:
print(df)
shape: (3, 2)
┌─────┬─────┐
│ foo ┆ bar │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1 ┆ 11 │
│ 2 ┆ 5 │
│ 3 ┆ 8 │
└─────┴─────┘
英文:
Select your col
, cast
it to (int64
) and add it back to the original DataFrame with_columns
.
df = df.with_columns(pl.col("foo").cast(pl.Int64))
Output :
print(df)
shape: (3, 2)
┌─────┬─────┐
│ foo ┆ bar │
│ --- ┆ --- │
│ i64 ┆ i64 │
╞═════╪═════╡
│ 1 ┆ 11 │
│ 2 ┆ 5 │
│ 3 ┆ 8 │
└─────┴─────┘
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论