首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何用不同的数组大小格式化Pandas DataFrame

如何用不同的数组大小格式化Pandas DataFrame
EN

Stack Overflow用户
提问于 2021-04-03 09:37:46
回答 2查看 36关注 0票数 0

我需要动态创建一个Excel电子表格,如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
 _______________________________________________________
| Name | Start Date | Title | Companies | Sub-companies |
|-------------------------------------------------------|
| Jim  | 01/01/2010 |  CTO  |  Google   |   YouTube     |
|-------------------------------------------------------|
|      |            |       |           |    FitBit     |
|-------------------------------------------------------|
|      |            |       |   Apple   |    NextVR     |
|-------------------------------------------------------|
|      |            |       |           |    Beats      |
|-------------------------------------------------------|
| Tom  | 12/12/2020 |  CEO  |  Amazon   |   Audible     |
|-------------------------------------------------------|
|      |            |       |           |    Zappos     |
|-------------------------------------------------------|
|      |            |       |  Samsung  |  Biologics    |
|-------------------------------------------------------|
|      |            |       |           |    Cheil      |
|-------------------------------------------------------|

这是我到目前为止的代码:

代码语言:javascript
代码运行次数:0
运行
复制
import pandas as pd

df = pd.DataFrame({
    "Name": ["Jim", "Tom"],
    "Start Date": ["01/01/2010", "12/12/2020"],
    "Companies": ["Google", "Apple", "Amazon", "Samsung"],
    "Sub-companies": [
         "YouTube", "FitBit", "NextVR", "Beats", 
         "Audible", "Zappos", "Biologics", "Cheil"
         ]
})

print(df)

df.to_excel("output.xlsx", sheet_name="Webtoons Comic Data")

这是行不通的,因为“所有数组的长度必须相同”,我该怎么做呢?我目前的计划是通过在每个列数组中添加空格来逐行创建。有没有更好的方法呢?我不需要帮助填充数组,只需要构造DF本身。谢谢你的帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-03 10:12:20

如果你想插入你自己,好的缩进会很有帮助

代码语言:javascript
代码运行次数:0
运行
复制
import pandas as pd
import numpy as np
df = pd.DataFrame(
    columns=[
        'Name', 'Start Date',   'Title', 'Companies',   'Sub-companies',
        ],
    data = np.array([[
        'Jim',  '01/01/2010',   'CTO',  'Google',       'YouTube',
        ], [
        '',     '',             '',     '',             'FitBit',
        ], [
        '',     '',             '',     'Apple',        'NextVR',
    ]]),
    )
票数 1
EN

Stack Overflow用户

发布于 2021-04-03 10:00:10

正如我在评论中提到的,我们可以尝试设置索引

代码语言:javascript
代码运行次数:0
运行
复制
df = pd.DataFrame({'Name':["Jim","Jim","Jim","Jim","Tom","Tom","Tom","Tom"],
"Companies": ["Google","Google", "Apple","Apple", "Amazon", "Amazon","Samsung","Samsung"],
    "Sub-companies": [
         "YouTube", "FitBit", "NextVR", "Beats", 
         "Audible", "Zappos", "Biologics", "Cheil"
         ]
})
df.set_index(['Name','Companies'])
               Sub-companies
Name Companies              
Jim  Google          YouTube
     Google           FitBit
     Apple            NextVR
     Apple             Beats
Tom  Amazon          Audible
     Amazon           Zappos
     Samsung       Biologics
     Samsung           Cheil
#df.set_index(['Name','Companies']).to_excel()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66927017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档