Ton*_*dez 3 pandas python-polars
我想使用 Polars 将数据帧的值转换为数组。
对于 Pandas 我会这样做:
import pandas as pd
df_tests = pd.DataFrame({'col_a':[1,2,3], 'col_b':[4,5,6]}, 'col_c':[7,8,9]})
print(df_tests.values)
Run Code Online (Sandbox Code Playgroud)
Polars 中的等效项是什么?
我尝试过 to_list() 方法,但仅适用于系列。我能得到的最接近的是这个,它返回一个元组列表:
import polars as pl
# Convert Pandas DataFrame to Polars DataFrame
df_tests = pd.DataFrame({'col_a':[1,2,3], 'col_b':[4,5,6]}, 'col_c':[7,8,9]})
df_tests_pl = pl.from_pandas(df_tests)
print(df_tests_pl.select(pl.col(['col_a', 'col_b'])).rows())
Run Code Online (Sandbox Code Playgroud)
如果您正在寻找 numpy 数组形式的 DataFrame 的值,请使用to_numpy:
import polars as pl
df = pl.DataFrame({"col_a": [1, 2, 3], "col_b": [4, 5, 6], "col_c": [7, 8, 9]})
df.to_numpy()
# [[1 4 7]
# [2 5 8]
# [3 6 9]]
Run Code Online (Sandbox Code Playgroud)
如果您希望将行值作为 Python 对象,则应该使用该rows方法,该方法将为您提供元组列表:
df.rows()
# [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
Run Code Online (Sandbox Code Playgroud)
然而,Polars 喜欢柱状数据。如果您正在查找 DataFrame 中的值,理想情况下应该使用to_dict,因为它效率更高:
df.to_dict(as_series=False)
# {'col_a': [1, 2, 3], 'col_b': [4, 5, 6], 'col_c': [7, 8, 9]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1234 次 |
| 最近记录: |