【问题标题】:append lists of different length to dataframe pandas将不同长度的列表附加到数据框 pandas
【发布时间】:2020-04-25 17:19:05
【问题描述】:

假设我有多个列表

A = ['acc_num=1', 'A1', 'A2']
B = ['acc_num=2', 'B1', 'B2', 'B3','B4']
C = ['acc_num=3', 'C1']

如何将它们放入数据框中以导出为 excel:

   acc_num     _1  _2  _3  _4  
_1 1           A1  A2
_2 2           B1  B2  B3  B4
_3 3           C1

【问题讨论】:

  • 这能回答你的问题吗? add columns different length pandas
  • hereAnother Question。这里还有一些solutions 花了我大约 5 秒钟才找到这些。
  • 问之前我已经搜索过了。检查了你的三个链接。我是 python 新手,我知道这是一个非常简单的问题。我从 for 循环的结果中获取列表 A、B 和 C。我想将列表附加到数据框中,以便保存到 Excel。我已经有了 ExcelWriter 的代码。
  • 好吧,对不起,我不是故意粗鲁的……会尽力帮助你的
  • 数据框操作相当复杂。我什至不确定如何将列表或数据框添加到数据框。可以有追加和连接。

标签: pandas dataframe


【解决方案1】:

您好,以下是 3 个基本步骤为您提供的解决方案:

  1. 只需传递列表列表即可创建 DataFrame
  2. 操作acc_num 列并删除起始字符串"acc_num=" 这是通过向量化列上的字符串方法完成的(但现在可能还很远)
  3. 通过将字典 {} 传递给 df.rename,根据需要重命名列标题/名称

代码:

# Create a Dataframe from your lists
df = pd.DataFrame([A,B,C])
# Change Column 0 and remove initial string
df[0] = df[0].str.replace('acc_num=','')
# Change the name of Column 0
df.rename(columns={0:"acc_num"},inplace=True)

最终结果:

Out[26]: 
  acc_num   1     2     3     4
0       1  A1    A2  None  None
1       2  B1    B2    B3    B4
2       3  C1  None  None  None

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-15
    • 2016-09-19
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 2023-03-23
    • 1970-01-01
    相关资源
    最近更新 更多