pandas 如何仅将 Dataframe 列输出到csv?

wwwo4jvm  于 2022-12-28  发布在  其他
关注(0)|答案(1)|浏览(123)

用例:在CLI上的实用函数中打高尔夫球,我不能让它变得复杂。
我只需要查看一个二进制格式的大文件的列名,而不是列名加上第一个数据行。
在我当前的实现中,我必须编写繁琐的命令来查看大文件的第一行:

my-tool peek -n 1 huge-file.parquet | head -n 1 | tr ',' '\n' | less

我想说的是:

my-tool peek --cols huge-file.parquet | tr ',' '\n' | less

my-tool peek --cols -d '\n' huge-file.parquet | less

在python中,我目前使用以下机制来生成csv:

out = StringIO()
df.to_csv(out)
print(out.getvalue())

有没有DataFrame-ish的方法可以通过to_csv(...)或类似的简单技术只将列输出到out

daolsyd0

daolsyd01#

像这样的东西?

import pandas as pd
import numpy as np

if __name__ == "__main__":
    # some fake data for setup
    np.random.seed(1)
    df = pd.DataFrame(
        data=np.random.random(size=(5, 5)),
        columns=list("abcde")
    )

    out = df.columns.to_frame(name="columns")
    out.to_csv("file.csv", index=False)
    print(out)
columns
a       a
b       b
c       c
d       d
e       e

相关问题