我有一个不寻常的数据集给我带来麻烦。它只是一个像这样的txt文件,这种格式的大量记录只是在页面上重复相同的格式。我不能更具体 - 这是一个角色的编码测试,我会诚实地说我得到了帮助所以我不会得到它,但这真的让我烦恼!
BEGIN:FOO NUM:stringwithnumbers-10000098888 DTTIME:20181101Z(想象一下这里有一个合适的日期戳) START:20180111 描述:做事 END:fooend
到目前为止我的代码:
import pandas as pd
stuff = pd.read_csv('thing.ical', sep=':', header=None, index_col=None, skiprows=6)
stuff.columns = ['cols', 'vals']
stuff['index_col'] = stuff.index
stuff = stuff.pivot( index=None, columns='cols')
print(stuff.head())
vals \
cols BEGIN DTSTAMP DTSTART;VALUE=DATE END SUMMARY
0 foo None None None None
1 None None None None None
2 None stringwithnumbers-10000098888 None None None
3 None None 20180111 None None
4 None None None None Doing things
这在我的旋转df中给了我很多没有值,这是我不想要的。我对支点很新,我不明白发生了什么事?
答案 0 :(得分:1)
对于新Counter
,我认为indices
需要cumcount
。也可以在names
中使用参数read_csv
,因此以后不需要分配列表:
df = pd.read_csv('thing.ical', sep=":", names=['cols', 'vals'], skiprows=6)
print (df)
df = pd.pivot(index=df.groupby('cols').cumcount(),
columns=df['cols'],
values=df['vals'])