我有记录的以下csv文件:需要通过读取csv文件具有随机列创建熊猫数据帧
- A 1,B 2,C 10,d 15
- A 5,d 10 ,G 2
- d 6,E 7
- H 7,G 8
我的列标题/名称是:A,B,C,d,E,F,G
因此,我使用 “read_csv” 之后的初始数据帧变为:
A B C D E F G
A 1 B 2 C 10 D 15 NaN NaN NaN
A 5 D 10 G 2 NaN NaN NaN NaN
D 6 E 7 NaN NaN NaN NaN NaN
H 7 G 8 NaN NaN NaN NaN Nan
的值可以是分开成[柱名] [列值],因此A 1表示COL = A和值= 1,并且d 15意味着山坳= d和值= 15,等等
我想是分配的数值基于该 合适的栏目,有一个数据帧,看起来像这样:
A B C D E F G
A 1 B 2 C 10 D 15 NaN NaN NaN
A 5 Nan NaN D 10 NaN NaN G 2
NaN NaN NaN D 6 E 7 NaN NaN
NaN NaN NaN NaN NaN NaN G 8
甚至更好,仅仅是价值:
A B C D E F G
1 2 10 15 NaN NaN NaN
5 Nan NaN 10 NaN NaN 2
NaN NaN NaN 6 7 NaN NaN
NaN NaN NaN NaN NaN NaN 8
这并不在我的数据帧的工作。它给了我IndexError:('列表索引超出范围',u'发生在索引0') – Michael
我可以想到的几件事情,当你读取数据时,可能会有每个字符串的前导或尾随空格;并且每个字符串可能不会被一个空格隔开,并且每个单元格可能有多个而不是配对值。 – Psidom
责备nan电池,@Psidom。 OP得到一个超出范围的列表索引,因为nan不会解析成'.str.split'下的列表。所以你不能索引它(你巧妙地写'x [0]:x [1]')。我也从来不知道像花括号里的语法一样的列表理解。谢谢你的启发! – Kartik