我在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是什么意思。