Pandas to_csv - 不重复保存索引值?

时间:2017-12-08 21:43:21

标签: python pandas

Pandas 0.20.3 - 请原谅可怜的头衔。我不知道描述它的最佳方式。

数据帧:

In [363]: df
Out[363]: 
           IP   Jroid   ST
0   127.0.0.3  Joid12  stq
1   127.0.0.2  Jroid2  stt
2   127.0.0.1  Jroid1  sth
3   127.0.0.1  Jroid1  stl
4   127.0.0.1  Jroid3  stj
5   127.0.0.1  Jroid2   ll
6   127.0.0.2  Jroid1  stq
7   127.0.0.1  Jroid3  stt
8   127.0.0.1  Jroid1  sth
9   127.0.0.2  Jroid1  stl
10  127.0.0.3  Jroid1  stq
11  127.0.0.3  Jroid3  stt

DataFrame完美地满足了我的需求:

In [365]: df.groupby(['IP','Jroid','ST']).ST.agg('count')
Out[365]: 
IP         Jroid   ST 
127.0.0.1  Jroid1  sth    2
                   stl    1
           Jroid2  ll     1
           Jroid3  stj    1
                   stt    1
127.0.0.2  Jroid1  stl    1
                   stq    1
           Jroid2  stt    1
127.0.0.3  Joid12  stq    1
           Jroid1  stq    1
           Jroid3  stt    1
Name: ST, dtype: int64

现在

df.groupby(['IP','Jroid','ST']).ST.agg('count').to_csv('/tmp/hi.csv')

渲染:

127.0.0.1,Jroid1,sth,2
127.0.0.1,Jroid1,stl,1
127.0.0.1,Jroid2,ll,1
127.0.0.1,Jroid3,stj,1
127.0.0.1,Jroid3,stt,1
127.0.0.2,Jroid1,stl,1
127.0.0.2,Jroid1,stq,1
127.0.0.2,Jroid2,stt,1
127.0.0.3,Joid12,stq,1
127.0.0.3,Jroid1,stq,1
127.0.0.3,Jroid3,stt,1

我怎样才能拥有" to_csv"保存" df.groupby([' IP',' Jroid'' ST'])表示的确切方式.ST.agg( '计数')&#34 ;? 有可能吗?

创建一个新的df似乎没有帮助:

print_df = df.groupby(['IP','Jroid','ST']).ST.agg('count')
print_df.to_csv('/tmp/hi.csv')

虽然做同样的事情。

1 个答案:

答案 0 :(得分:2)

由于DeepSpace声明它不会成为有效的CSV格式

您可以在RAND()

中执行此操作
.xlsx

enter image description here

相关问题