熊猫删除行

时间:2016-11-10 21:10:11

标签: python csv pandas matrix

我想删除带有该数据透视表功能的pandas的csv文件中的几行。 csv文件的格式如下所示:

ad dsdsa d adsadsa ewew
das ds dsd sad dsa dsa 
1 1 1.0 3
1 2 2.0 4
1 3 3.2 4
1 4 2.3 5
1 5 1.3 2
2 1 2.2 5
2 2 3.2 5
2 3 2.2 4
2 4 1.1 4

我希望输出如下:

   1    2     3   4    5
1  1.0  2.0  3.2  2.3 1.3
2  2.2   5   3.2  1.1  . 
3   .    .     .   .   .

我有这个没有前两行垃圾数据的技巧:

   import pandas as pd
   df = pd.read_csv('third.csv', usecols=[0,1,2], names=['origin','destin', 'value'])
   pd.pivot_table(df, index='origin', columns='destin', values='value')
   pd.to.excel('test.xlsx', sheet_name='sheet1', index='True')

如您所见,我使用了前3列,但我想删除csv文件中的前两行。另外,我想将新格式导出到excel(但我的代码的最后一行不起作用)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

演示

from io import StringIO
import pandas as pd

txt = """ad dsdsa d adsadsa ewew
das ds dsd sad dsa dsa 
1 1 1.0 3
1 2 2.0 4
1 3 3.2 4
1 4 2.3 5
1 5 1.3 2
2 1 2.2 5
2 2 3.2 5
2 3 2.2 4
2 4 1.1 4"""

df = pd.read_csv(StringIO(txt), delim_whitespace=True, skiprows=2, header=None,
                 index_col=[0, 1], usecols=[0, 1, 2], squeeze=True)

df.unstack()

enter image description here

如果指数上的名字打扰你:

df.rename_axis([None, None]).unstack()

enter image description here