上@ shanmuga的評論之後,你應該能夠使用to_csv()
不首先使用to_frame()
。
首先,這裏似乎反映您設定一些樣本數據:
import pandas as pd
group = ['a','a','b','c','c']
value = [1,2,3,4,5]
df = pd.DataFrame({'group':group,'value':value})
print(df)
group value
0 a 1
1 a 2
2 b 3
3 c 4
4 c 5
現在申請pivot_table()
:
df.pivot_table(columns='group', values='value', aggfunc=len)
group
a 2
b 1
c 2
Name: value, dtype: int64
您可以直接保存從這個輸出到文件。如果你不希望保留索引和列名,負載使用header=None
:
(df.pivot_table(columns='group', values='value', aggfunc=len)
.to_csv('foo.txt'))
newdf = pd.read_csv('foo.txt', header=None)
print(newdf)
0 1
0 a 2
1 b 1
2 c 2
要保留列和索引名,使用上保存header
說法,和index_col
參數上載:
(df.pivot_table(columns='group', values='value', aggfunc=len)
.to_csv('foo.txt', header='group'))
newdf = pd.read_csv('foo.txt', index_col='group')
print(newdf)
value
group
a 2
b 1
c 2
爲什麼不使用[DataFrame.to_csv](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html#pandas-dataframe-to-csv)功能 – shanmuga