簡體   English   中英

將 DataFrame 打印為逗號分隔值

[英]Print DataFrame as comma separated values

我有一個類似於以下內容的 Pandas DataFrame:

import pandas as pd

city_names = pd.Series(['San Francisco', 'San Jose', 'Sacramento'])
population = pd.Series([852469, 1015785, 485199])

df = pd.DataFrame({'City name': city_names, 'Population': population})

我試圖得到這個輸出:

San Fransisco, 852469

San Jose, 1015785

Sacramento, 485199
>>> s = "\n".join(", ".join(map(str, xs)) for xs in df.itertuples(index=False))
>>> print(s)

San Francisco, 852469
San Jose, 1015785
Sacramento, 485199

我想避免.iterrows() ,因為它往往很緩慢。


方法一:

'\n'.join(df.astype(str).apply(lambda x: ', '.join(x), axis=1))

方法二:

'\n'.join([', '.join(elem) for elem in df.astype(str).itertuples(index=False)])

如果我理解你的問題,下面會打印一本字典。

import pandas as pd

city_names = pd.Series(['San Francisco', 'San Jose', 'Sacramento'])
population = pd.Series([852469, 1015785, 485199])

df = pd.DataFrame({ 'City name': city_names, 'Population': population })

the_dict = df.to_dict()

這將打印字典

print(the_dict)

{'City name': {0: 'San Francisco', 1: 'San Jose', 2: 'Sacramento'}, 'Population': {0: 852469, 1: 1015785, 2: 485199}}

說你想要的輸出看起來像逗號分隔的值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM