python - 将多列附加到数据框

标签 python pandas dataframe


我正在创建一个函数,其参数是数据框。问题是该函数使用的数据帧具有不同的长度,我需要我的数据帧具有特定的长度才能使我的代码正常工作。
具体来说,我需要我的数据框有 84 列,有时我的列数较少(超过需要的 84 列不是问题)。因此,为了让我的代码正常工作,我需要添加用 0 填充的列。
我的列名称是从 0 开始的数字。我想出了以下代码:

df.insert(len(df.columns), len(df.columns)-1, 0)

但我不知道如何将其放入循环中以获取始终有 84 列的数据框?
谢谢。

最佳答案

假设 DF 有 5 列:

    A   B   C   D   F
0  92  58  84   4  63
1  44  28  58  97  27
2  51  75  76  16  39
3  42  32  85  98  32
4  98  90  65  78  85
5  32  16  31   5  95
6  88  69  23  37  12
7  52  13  57  57  90
8  60  49   5  15  14
9  43  40   1  76  17

[10 rows x 5 columns]

您可以检查数据框中的列数,并创建填充 0 的新列,直到达到 84 列:

new_cols = [f"column_new_{number}" for number in range(84 - len(df.columns))]
pd.concat([df, pd.DataFrame(columns = new_cols)]).fillna(0)

这给你:

Out[164]: 
      A     B     C  ...  column_new_76  column_new_77  column_new_78
0  92.0  58.0  84.0  ...              0              0              0
1  44.0  28.0  58.0  ...              0              0              0
2  51.0  75.0  76.0  ...              0              0              0
3  42.0  32.0  85.0  ...              0              0              0
4  98.0  90.0  65.0  ...              0              0              0
5  32.0  16.0  31.0  ...              0              0              0
6  88.0  69.0  23.0  ...              0              0              0
7  52.0  13.0  57.0  ...              0              0              0
8  60.0  49.0   5.0  ...              0              0              0
9  43.0  40.0   1.0  ...              0              0              0

[10 rows x 84 columns]

您可以决定列的前缀,我使用“column_new_”只是为了演示目的。

关于python - 将多列附加到数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69617149/

相关文章:

python - 如何将Python pandas数据保存到Excel文件中?

python - 切片 Pandas 数据帧非单调索引

python - 在绘图中键入希腊字母等

python - 如何配置 rsyslog 以与 SysLogHandler 日志类一起使用?

python - 将百分位数计算为 Pandas 中的一列

python - 在 Pandas_Python 中合并求和和排除

python - 获取百分比和计数 Python

python - Pandas - 比较列,当它们不匹配时以及其中一列显示 "Column not found"时返回 False

r - 获取具有多个分组变量的组平均值并排除自己的组值

python-3.x - Pandas 合并有两个具有相同代码和输入数据的结果