我想删除带有该数据透视表功能的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(但我的代码的最后一行不起作用)。
有什么想法吗?
答案 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()
如果指数上的名字打扰你:
df.rename_axis([None, None]).unstack()