我在Pandas/Python中的DataFrames有一个问题。假设我有两个DataFrames,它们的头部不同,形状是2,10。我想做的就是把这两个帧合并成一个形状为2,20的新帧。所以我想“把它们放在一起”。python所做的是给我做一个3,20的形状,其中一半是NaNs,这是我想避免的。对此有什么解决方案吗?
下一个问题将是如何在不再次获得NaNs的情况下将新的数据帧与顶部的数据帧合并。因此,如果我想“在顶部的数据框架下放置一个新的行”以获得一个3,20形状,我该如何实现呢?报头将已经出现在前2,20个df中。提前感谢!
发布于 2020-10-13 15:57:39
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
。
但是,我不确定您所说的避免NaNs是什么意思。
https://stackoverflow.com/questions/64330861
复制相似问题