我是Pandas的新手,例如,如果我具有以下数据框,我想向不同的数据框添加序列号或行号
df1
col1 col2 col3
123 aaaa bbbb
345 eeee cccc
df2
col1 col2 col3
1234 aaa bbb
3456 eee ccc
df3
col1 col2 col3
12345 aa ggb
34567 ee jkc
我想在每个熊猫的开头添加一列,因此输出应如下所示:
df1
col0 col1 col2 col3
1 123 aaaa bbbb
2 345 eeee cccc
df2
col0 col1 col2 col3
3 1234 aaa bbb
4 3456 eee ccc
df3
col0 col1 col2 col3
5 12345 aa ggb
6 34567 ee jkc
我使用AWK命令设法做到这一点,但是将数据帧转换为csv之后,如何仅使用熊猫就能做到这一点呢?
答案 0 :(得分:5)
我正在使用concat
,并尽一切努力将所有原始信息保留在所有子df中(即使原始index
也是如此)
df = pd.concat([df1, df2, df3], keys = [1,2,3])
df.insert(loc = 0, column = 'col0', value = np.arange(len(df))+1 )
df1,df2,df3 = [x.reset_index(level = 0,drop = True) for _, x in df.groupby(level = 0)]
df1
Out[524]:
col0 col1 col2 col3
0 1 123 aaaa bbbb
1 2 345 eeee cccc
df2
Out[525]:
col0 col1 col2 col3
0 3 1234 aaa bbb
1 4 3456 eee ccc
df3
Out[526]:
col0 col1 col2 col3
0 5 12345 aa ggb
1 6 34567 ee jkc