如何使用 pandas 获取某种格式的表格并导出为 csv?

2024-03-01

我是 pandas 的新手。我想要一个需要导出 csv 格式的表格。

我尝试过的是:

o_rg,o_gg,a_rg,a_gg 是数组

  df1=pd.DataFrame({'RED':o_rg,'GREEN':o_gg})
  df2=pd.DataFrame({'RED':a_rg,'RED':a_gg})
  df=df1-(df2)
  pop_complete = pd.concat([df, df1, df2], keys=["O-A", "O", "A"], axis=1)
  pop_complete.index = ['A1','A3','A8']
  df1 = pop_complete.stack(0)[['RED','GREEN']].reindex(["O", "A", "O-A"], axis=0, level=1)
  df1.to_csv("OUT.CSV")

我得到的输出为:

       RED     GREEN       

    A1 O        14.0     14.0
       A        14.0     12.0
       O-A      0.0      2.0

    A3 O        12.0     9.0
       A        12.0     10.0
       O-A      0.0      -1.0

    A8 O        15.0     12.0
       A        15.0     12.0
       O-A      0.0      0.0

我真正想要的是:

                RED     GREEN       
       A1
       O        14.0     14.0
       A        14.0     12.0
       O-A      0.0      2.0
       A3
       O        12.0     9.0
       A        12.0     10.0
       O-A      0.0      -1.0
       A8
       O        15.0     12.0
       A        15.0     12.0
       O-A      0.0      0.0

其中 'A1','A3','A8' ... 可以存储在数组 Case=[] 中 如何获得实际输出?


使用自定义函数:

#from previous answer
df1 = pop_complete.stack(0)[['RED','GREEN']].reindex(["O", "A", "O-A"], axis=0, level=1)
print (df1)
        RED  GREEN
A1 O     14     14
   A     14     14
   O-A    0      0
A3 O     12      9
   A     12     10
   O-A    0     -1
A8 O     15     12
   A     15     15
   O-A    0     -3

如果需要所有数值:

def f(x):
    df2 = pd.DataFrame(columns=x.columns, 
                       index=pd.MultiIndex.from_tuples([(x.name, x.name)]))
    return df2.append(x)

df3 = df1.groupby(level=0, group_keys=False).apply(f).reset_index(level=0, drop=True)
print (df3)
     RED GREEN
A1   NaN   NaN
O     14    14
A     14    14
O-A    0     0
A3   NaN   NaN
O     12     9
A     12    10
O-A    0    -1
A8   NaN   NaN
O     15    12
A     15    15
O-A    0    -3

如果需要空字符串:

def f(x):
    df2 = pd.DataFrame('', columns=x.columns, 
                       index=pd.MultiIndex.from_tuples([(x.name, x.name)]))
    return df2.append(x)

df3 = df1.groupby(level=0, group_keys=False).apply(f).reset_index(level=0, drop=True)
print (df3)
    RED GREEN
A1           
O    14    14
A    14    14
O-A   0     0
A3           
O    12     9
A    12    10
O-A   0    -1
A8           
O    15    12
A    15    15
O-A   0    -3
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 pandas 获取某种格式的表格并导出为 csv? 的相关文章

随机推荐

  • Python + Beam + Flink

    我一直在尝试让 Apache Beam 可移植性框架与 Python 和 Apache Flink 一起使用 但我似乎找不到一套完整的指令来让环境正常工作 是否有任何参考资料包含使简单的 python 管道正常工作的先决条件和步骤的完整列表
  • PHP:如何彻底防止XSS攻击?

    如何才能完全防止 PHP 中的 xss 攻击 这是假设我不关心任何 HTML 标签或其他格式 仅运行 strip tags 并使其完全安全就足够了吗 Both htmlspecialchars and strip tags 被认为可以安全地
  • 使用 PyPDF2 将嵌套书签添加到 PDF

    的文档PyPDF2 https github com mstamy2 PyPDF2 指出可以向 PDF 文件添加嵌套书签 并且代码出现 阅读后 以支持此操作 向根树添加书签很容易 请参见下面的代码 但我无法弄清楚我需要传递什么作为paren
  • Visual Studio 2010 XAML 编辑器尴尬的 IntelliSense?

    在 Visual Studio C 文本编辑器中 当您需要属性时 只需键入prop然后点击两次选项卡即可获取属性的 片段 模板 类型和属性名称都会突出显示 当您想要在类型和属性之间切换时 请按 Tab 键 然后在完成后按 Enter 键 光
  • 如何在 Rust 中将字符串转换为字节向量?

    这可能是有史以来最愚蠢的 Rustlang 问题 但我保证我会尽力在文档或网络上的任何其他地方找到答案 我可以将字符串转换为字节向量 如下所示 let bar bytes some string 不幸的是我不能这样做 let foo som
  • 如何在同一解决方案中运行/调试多个 Web 应用程序项目?

    我有 2 个网络应用程序项目 一个是我的 asp net MVC 应用程序 另一个是与管理相关的功能 即 asp net Web 表单动态数据 我的 MVC 应用程序将是主站点 但我希望 Web 表单在 MVC 站点的 Admin 文件夹下
  • 如何调试 git 别名?

    调试git使用 shell 命令和引用使用别名可能很困难 我怎样才能看到什么git正在为给定的别名执行 In your gitconfig 添加以下内容 debug GIT TRACE 1 git 然后你就可以运行git debug
  • Xamarin.iOS:可执行文件已使用无效权利进行签名

    我最近添加了通知 FCM 到使用以下方法开发的 iOS 应用程序Xamarin iOS 当我尝试在已发布的设备 iPad 和 iPhone 上安装时 安装失败 我发现的所有类似问题都与本机开发有关 我尝试重新生成配置文件 删除并再次添加推送
  • BeautifulSoup find_all() 不返回任何数据

    我对 Python 很陌生 我最近的项目是从博彩网站抓取数据 我想要抓取的是网页上的赔率信息 这是我的代码 from urllib request import urlopen as uReq from bs4 import Beautif
  • 如何以编程方式列出 Rails 中的所有控制器

    我正在尝试构建一个 RESTful 应用程序来实际管理多种可配置对象 因此有大量的 资源 类型 因此有很多控制器 我仍处于 POC 阶段 所以如果我可以在第一个导航页面中显示所有控制器 那就太好了 那么有什么简单的方法 可编程 可以做到这一
  • 如何在 Silverlight 中更改 Textblock 的背景颜色?

    我想要一个黄色背景上有蓝色文本的文本块 我可以使用 前景 属性设置蓝色文本 但 背景 不起作用 我想那太简单了 那么最好的方法是什么 将其包裹在具有背景颜色的矩形或画布中 并且 我们是否应该了解有关 Silverlight 的任何内容 以了
  • 无法使用 ACI 卷。所需的驱动程序是“azure_file”

    尝试使用以下方式在 Azure 中部署此应用程序docker compose version 3 5 x environment default back environment Database settings POSTGRES DB
  • 在javascript中动态更新嵌套对象[重复]

    这个问题在这里已经有答案了 我有一个从 json 解码的对象 var data parentSeries 1 children BusinessRule ChrisTest2 ID ChrisTest2 3 childsub 3 jsonC
  • 如何在 Visual Studio 中将构建配置更改为发布?

    我正在尝试发布一个 Xamarin 项目 我怎样才能将构建配置更改为Release在 Visual Studio 2015 中 Update I have found the solution here it is 根据如何 设置调试和发布
  • 在 Composer 中设置“config.fxp-asset.installer-paths”选项

    当我运行composer update在继续更新之前我收到以下警告 The extra asset installer paths option is deprecated use the config fxp asset installe
  • 设计更好的 API?

    设计 API 时应遵循哪些最佳实践和模式 如何实现隐藏的最佳方式 C Java 设计本质上通用的 API 有哪些参考书 链接可以为初学者提供简洁的示例指导吗 我不确定我对你们所有的个人问题都有一个很好的答案 但我想我对第一个问题确实有一个很
  • isBeingPresented 值不一致

    我以模态方式呈现一个带有 ViewController 的 NavigationController 在 ViewController 中我可以看到self navigationController isBeingPresented是真的
  • Laravel - 将 Guzzle 请求记录到文件

    在开发一个项目时 我发现第三方 API 可以在 Postman 中运行 但不能在 Guzzle Client 中运行 调试 Guzzle 请求可能很困难 那么有没有什么方法可以记录 Guzzle 客户端发出的所有请求 TLDR 有一种简单的
  • Django CSRF 框架无法禁用并且正在破坏我的网站

    django csrf 中间件无法禁用 我已从项目的中间件中将其注释掉 但由于缺少 CSRF 问题 我的登录失败 我在 Django 主干上工作 如果中间件中未启用 CSRF 它如何会导致问题 我必须禁用它 因为我的网站上有很多 POST
  • 如何使用 pandas 获取某种格式的表格并导出为 csv?

    我是 pandas 的新手 我想要一个需要导出 csv 格式的表格 我尝试过的是 o rg o gg a rg a gg 是数组 df1 pd DataFrame RED o rg GREEN o gg df2 pd DataFrame R