对于以下 Dataframe
ID Name Time
0 0 A 100
1 1 B 70
ID Name Time
0 0 C 40
1 1 D 90
我想将它们按行连接起来,并重置ID
编号。因此,最终的数据框应为
ID Name Time
0 0 A 100
1 1 B 70
2 2 C 40
3 3 D 90
密码是
big_df = pd.DataFrame()
for i in range(1,3):
fname = 'test_' + str(i) + '.csv'
small_df = pd.read_csv(fname, skiprows=[1])
print(small_df)
frames = [big_df, small_df]
big_df = pd.concat(frames)
i += 1
big_df.set_index('ID', inplace=True)
print(big_df)
但是输出是
Name Time
ID
0 A 100
1 B 70
0 C 40
1 D 90
我想将索引值复制到ID
列,但我知道set_index
会将该列作为索引。如何修复代码以实现此目的?
- 更新**
我发现big_df['ID'] = big_df.index
会将索引值复制到ID
列。
5条答案
按热度按时间nukf8bse1#
一个选项使用
concat
作为ID的增量:输出:
vulvrdjw2#
你试过在连接时使用
ignore_index
选项吗?hc8w905p3#
您可以执行以下操作:
qvsjd97n4#
如果您尝试连接 Dataframe ,则可以这样做,
要获得更多文档,请查看以下内容。
https://pandas.pydata.org/docs/user_guide/merging.html
qpgpyjmq5#
下面是关于
pandas.concat
和pandas.DataFrame.index
的命题:#输出: