我是 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
我想在每个 pandas 的开头添加一列,这样输出应该如下所示:
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 之后,如何仅使用 Pandas 完成它?
请您参考如下方法:
我正在使用concat,并尽力保留所有子dfs的所有原始信息(即使是原始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
