Joh*_*ith 12 python loops python-polars
我正在尝试使用以下代码循环遍历 Polars 记录集:
\n\nimport polars as pl\n\nmydf = pl.DataFrame(\n {"start_date": ["2020-01-02", "2020-01-03", "2020-01-04"],\n "Name": ["John", "Joe", "James"]})\n\nprint(mydf)\n\n\xe2\x94\x82start_date \xe2\x94\x86 Name \xe2\x94\x82\n\xe2\x94\x82 --- \xe2\x94\x86 --- \xe2\x94\x82\n\xe2\x94\x82 str \xe2\x94\x86 str \xe2\x94\x82\n\xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xaa\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1\n\xe2\x94\x82 2020-01-02 \xe2\x94\x86 John \xe2\x94\x82\n\xe2\x94\x82 2020-01-03 \xe2\x94\x86 Joe \xe2\x94\x82\n\xe2\x94\x82 2020-01-04 \xe2\x94\x86 James \xe2\x94\x82\n\nfor row in mydf.rows():\n print(row)\n\n('2020-01-02', 'John')\n('2020-01-03', 'Joe')\n('2020-01-04', 'James')\n\nRun Code Online (Sandbox Code Playgroud)\n有没有办法使用命名列而不是索引来专门引用“名称”?在 Pandas 中,这看起来像:
\nimport pandas as pd\n\nmydf = pd.DataFrame(\n {"start_date": ["2020-01-02", "2020-01-03", "2020-01-04"],\n "Name": ["John", "Joe", "James"]})\n\nfor index, row in mydf.iterrows():\n mydf['Name'][index]\n\n'John'\n'Joe'\n'James'\nRun Code Online (Sandbox Code Playgroud)\n
Art*_*hur 15
您可以指定要命名的行
for row in mydf.rows(named=True):
print(row)
Run Code Online (Sandbox Code Playgroud)
它会给你一个字典:
{'start_date': '2020-01-02', 'Name': 'John'}
{'start_date': '2020-01-03', 'Name': 'Joe'}
{'start_date': '2020-01-04', 'Name': 'James'}
Run Code Online (Sandbox Code Playgroud)
然后你可以打电话row['Name']
注意:
iter_rows行迭代不是最优的,因为底层数据以列形式存储;如果可能,最好通过一种专用的导出/输出方法进行导出。