不带NaN的Concat数据帧



我在Pandas/Python中遇到了一个DataFrames问题。假设我有两个DataFrames,它们具有不同的标头形状[2,10]。我想做的就是把这两个框架拼接成一个新的框架,形状是[2,20]。所以我想"把它们放在一起";。蟒蛇正在做的是让我变成[3,20]的形状,其中一半是我想避免的NaN。有什么解决办法吗?

下一个问题是如何在不再次获得NaN的情况下将新数据帧与顶部数据帧合并。所以如果我想";在我的顶部数据帧下面放一个新行";要得到[3,20]的形状,我该如何实现?标头将已存在于顶部[2,20]df中。提前感谢!

enter code here我猜您正在使用axis参数查找pd.concat

import numpy as np
import pandas as pd
# dfo = pd.read_clipboard()
df1 = pd.DataFrame(np.random.randint(0, 100, size=[10, 2]), columns=['a', 'b'])
df2 = pd.DataFrame(np.random.randint(0, 100, size=[10, 2]), columns=['a', 'b'])
df = pd.concat([df1, df2], axis=0)
print(df)

这将返回

a   b
0  24  57
1  89  70
2  78  49
3  33  63
4  27   7
5  56  73
6  30  94
7  85  38
8  44  86
9  83  36
0  40  50
1  16  14
2   2  26
3  48  97
4  80  72
5  69  43
6  13  26
7  50   7
8  84  13
9  34  77

如果要重新索引df:,可以在末尾添加reset_index()

df = df.reset_index(drop=True)
print(df)
0   1
0    0  91
1   86  21
2   48  76
3   98  61
4   28  18
5   38  44
6   67  31
7   27  17
8    4  63
9   48  16
10  95  26
11   2  61
12  23  67
13   4  74
14  82  47
15  64   6
16  66  60
17   3  47
18  14  98
19  16  71

如果通过";在彼此后面";您的意思是并排,您只需要将axis=0更改为axis=1

然而,我不知道你所说的避免NaN是什么意思。

最新更新