pandas 插入空列_Pandas在DF创建期间添加额外的空列(Pandas add additional empty columns during DF creation)...

本文讨论了如何在使用Pandas创建DataFrame时遇到的问题,即如何在不手动逐行添加的情况下插入额外的空列。作者分享了一个错误,他们在尝试从列表列表中构建DataFrame时遇到了列数不匹配的错误。他们寻求一种方法来简化添加带有NaN值的额外列的过程。一个满意的回答提供了一种使用循环填充空列的解决方案,通过动态创建列名并将None值分配给新列。
摘要由CSDN通过智能技术生成

Pandas在DF创建期间添加额外的空列(Pandas add additional empty columns during DF creation)

我越来越:

AssertionError: 14 columns passed, passed data had 12

columns.

错误是不言自明的,我正在从列表列表中创建一个DataFrame,每个列表实际上包含12个字段。 如何强制pandas.DataFrame在一次操作中添加带NaN的额外列。 这就是我创建df的方式。

pandas.DataFrame(results, columns=FIELDS)

有没有办法在DataFrame创建中简化这一点,而不必这样做:

pandas.DataFrame(results, columns=FIELDS_12)

df["ExtraField13"] = np.nan

df["ExtraField14"] = np.nan

I'm getting:

AssertionError: 14 columns passed, passed data had 12

columns.

Error is self-explanatory, I'm creating a DataFrame from a list of lists, each list in fact contains 12 fields. How can I force pandas.DataFrame to add extra columns with NaN in one operation. This is how Im creating the df.

pandas.DataFrame(results, columns=FIELDS)

Is there a way to simplify this in DataFrame creation, without having to do this:

pandas.DataFrame(results, columns=FIELDS_12)

df["ExtraField13"] = np.nan

df["ExtraField14"] = np.nan

原文:https://stackoverflow.com/questions/42238024

2020-02-27 23:56

满意答案

好吧,你不需要像上面那样用逐行的单独列分配硬编码。 这做了类似的事情,但使用循环代替填充列:

>>> import pandas as pd

>>> df = pd.DataFrame({'A': [1,2,3], 'B': [4,5,6]})

>>> df

A B

0 1 4

1 2 5

2 3 6

>>> def pad_cols(df, n_cols):

... while len(df.columns) < n_cols:

... df['padded' + str(len(df.columns)+1)] 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值