当前位置: 首页 > 面试题库 >

在数据框python中删除空间

伏子辰
2023-03-14
问题内容

我的代码中出现错误,因为我试图通过从csv调用元素来制作数据框。我从文件中调用了两列:CompanyName和QualityIssue。质量问题分为三种:设备质量,用户和两者都不。我在尝试创建数据帧df.Equipment
Quality时遇到问题,这显然不起作用,因为那里有空间。我想从原始文件中获取“设备质量”,并用下划线代替空格。

输入:

Top Calling Customers,         Equipment Quality,    User,    Neither,
Customer 3,                      2,           2,        0,
Customer 1,                      0,           2,        1,
Customer 2,                      0,           1,        0,
Customer 4,                      0,           1,        0,

这是我的代码:

import numpy as np
import pandas as pd
import pandas.util.testing as tm; tm.N = 3

# Get the data.
data = pd.DataFrame.from_csv('MYDATA.csv')   
# Group the data by calling CompanyName and QualityIssue columns.
byqualityissue = data.groupby(["CompanyName", "QualityIssue"]).size() 
# Make a pandas dataframe of the grouped data.
df = pd.DataFrame(byqualityissue) 
# Change the formatting of the data to match what I want SpiderPlot to read.
formatted = df.unstack(level=-1)[0]  
# Replace NaN values with zero.
formatted[np.isnan(formatted)] = 0 
includingtotals = pd.concat([formatted,pd.DataFrame(formatted.sum(axis=1), 
                             columns=['Total'])], axis=1)
sortedtotal = includingtotals.sort_index(by=['Total'], ascending=[False])
sortedtotal.to_csv('byqualityissue.csv')

这似乎是一个经常被问到的问题,我尝试了很多解决方案,但它们似乎没有用。这是我尝试过的:

with open('byqualityissue.csv', 'r') as f:
    reader = csv.reader(f, delimiter=',', quoting=csv.QUOTE_NONE)
    return [[x.strip() for x in row] for row in reader]
    sentence.replace(" ", "_")

sortedtotal['QualityIssue'] = sortedtotal['QualityIssue'].map(lambda x: x.rstrip(' '))

从这里http://pandas.pydata.org/pandas-
docs/stable/text.html
,我认为这是最有希望的:

formatted.columns = formatted.columns.str.strip().str.replace(' ', '_')

但我收到此错误:AttributeError:’Index’对象没有属性’str’

谢谢您的帮助!


问题答案:

尝试:

formatted.columns = [x.strip().replace(' ', '_') for x in formatted.columns]


 类似资料:
  • 本文向大家介绍如何从R数据框中删除空行?,包括了如何从R数据框中删除空行?的使用技巧和注意事项,需要的朋友参考一下 在调查或任何其他数据收集媒介期间,无法从所有单位获取所有信息。有时我们得到部分信息,有时什么也没有。因此,数据中的某些行可能完全为空白,而某些行可能具有部分数据。可以删除空白行,并使用有助于处理缺失信息的方法填充其他空值。 示例 考虑下面的数据框,它缺少一些行和一些值- 在这里,我们

  • 我有一个数据框架,我连接到它的所有字段。 连接后它成为另一个数据帧,最后我将其输出写入csv文件,并在其两列上进行分区。它的一列存在于第一个数据帧中,我不想包含在最终输出中。 这是我的代码: 在这里,我连接并创建另一个数据帧: 这就是我尝试过的 现在我不希望在我的输出中的数据分区列。 我正在基于DataPartition进行分区,所以我没有得到,但因为DataPartition存在于主数据帧中,所

  • 问题内容: 我想从“ tweets”列中删除停用词。如何遍历每一行和每一项目? 问题答案: 使用列表理解 返回值:

  • 我有一个名为“mydata”的数据框,看起来像这样: 我想删除第2、4、6行。例如,像这样:

  • 问题内容: Python的string.whitespace很棒: 如何在不使用手动输入regex的’\ t | \ n | …等的情况下将其与字符串一起使用? 例如,它应该能够显示:“请\ n不要\ t伤害我。 进入 “请不要伤害我。” 我可能想保留单个空格,但是我想只要去string.whitespace [:-1]就足够了。 问题答案: 正是这种用例有一个特殊情况的快捷方式! 如果不带参数调

  • 问题内容: 我可以使用 功能来删除将部分或全部列设置为的行。是否存在用于删除所有列的值为0的行的等效函数? 在此示例中,我们要删除数据帧的前4行。 谢谢! 问题答案: 事实证明,这可以向量化的方式很好地表达:

  • 问题内容: 我有数据框: df 如何删除列名,并从该数据帧?一种方法是将其写入csv文件,然后在指定header = None的情况下读取它。有没有一种方法,而无需写到csv并重新读取? 问题答案: 我认为你不能删除列名,只能通过重新设置有: 这与使用和相同: 下一个解决方案:

  • 问题内容: 我需要删除pandas中数据框的前三行。 我知道会删除最后一行,但我不知道如何删除前n行。 问题答案: 用途: 将为您提供一个没有前三行的新df。