【问题标题】:Concat DataFrames without NaNs没有 NaN 的 Concat 数据帧
【发布时间】:2020-10-14 00:39:43
【问题描述】:

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

下一个问题是如何将新数据框与顶部数据框合并,而不会再次获得 NaN。因此,如果我想“在我的顶部数据框下放置一个新行”以获得 [3,20] 形状,我该如何实现呢?标题将已经存在于顶部 [2,20] df 中。 提前致谢!

【问题讨论】:

  • 请添加您的表格,并编写您的示例代码。

标签: python pandas dataframe


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 2022-08-05
    • 2022-11-25
    相关资源
    最近更新 更多