栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在Pandas DataFrame的字符串中漂亮地打印换行符

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Pandas DataFrame的字符串中漂亮地打印换行符

从pandas.Dataframe文档中:

具有标注轴(行和列)的二维大小可变的,可能是异构的表格数据结构。算术运算在行和列标签上对齐。可以认为是Series对象的类似dict的容器。大熊猫主要数据结构

因此,没有索引就不能有一行。换行符“ n”在Dataframe中不起作用。

您可以用空值覆盖“ pos”,然后在下一行输出下一个“ bidder”。但是,每次这样做时,index和’pos’都会被抵消。喜欢:

  pos    bidder0   1          1   2          2   3  <- alice3        <- bob4   5

因此,如果一个名为“ frank”的竞标者的价值为4,它将覆盖“
bob”。当您添加更多时,这会引起问题。可能可以使用Dataframe并编写代码来解决此问题,但可能值得研究其他解决方案。

这是产生上面输出结构的代码。

import pandas as pdn = 5output = pd.Dataframe({'pos': range(1, n + 1),'bidder': [''] * n},columns=['pos', 'bidder'])bids = {'alice': 3, 'bob': 3}used_pos = []for bidder, pos in bids.items():    if pos in used_pos:        output.ix[pos, 'bidder'] = "<- %s" % bidder        output.ix[pos, 'pos'] = ''    else:        output.ix[pos - 1, 'bidder'] = "<- %s" % bidder        used_pos.append(pos)print(output)

编辑:

另一个选择是重组数据和输出。您可以将pos作为列,并为数据中的每个键/人创建一个新行。在下面的代码示例中,它打印出NaN值替换为空字符串的Dataframe。

import pandas as pddata = {'johnnynnewline': 2, 'alice': 3, 'bob': 3,        'frank': 4, 'lisa': 1, 'tom': 8}n = range(1, max(data.values()) + 1)# Create Dataframe with columns = posoutput = pd.Dataframe(columns=n, index=[])# Populate Dataframe with rowsfor index, (bidder, pos) in enumerate(data.items()):    output.loc[index, pos] = bidder# Print the Dataframe and remove NaN to make it easier to read.print(output.fillna(''))# Fetch and print every element in column 2for index in range(1, 5):    print(output.loc[index, 2])

但是,这取决于您要如何处理数据。祝好运 :)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/651421.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号