当我尝试重命名和删除列从熊猫data.frame我遇到一个错误说
熊猫df.rename.drop.groupby.reset_index顺序总是让我困惑。当我想重塑熊猫df时,我应该遵循什么正确的语法?
raw_data = {'patient': [1, 1, 1, 2, 2],
'obs': [1, 2, 3, 1, 2],
'treatment': [0, 1, 0, 1, 0],
'score': ['strong', 'weak', 'normal', 'weak', 'strong'],
'tr': [1,2,3,4,5],
'tk': [6,7,8,9,10],
'ak': [11,12,13,14,15]
}
df = pd.DataFrame(raw_data, columns = ['patient', 'obs', 'treatment', 'score','tr','tk','ak'])
df
patient observation treatment Dr_score tr tk ak
0 1 1 0 strong 1 6 11
1 1 2 1 weak 2 7 12
2 1 3 0 normal 3 8 13
3 2 1 1 weak 4 9 14
4 2 2 0 strong 5 10 15
def rename_drop(df):
df=df.rename(columns = {'obs':'observation', 'score':'Dr_score'},inplace = True).drop('tk',axis=1,inplace=True)
return df
rename_drop(df)
AttributeError:“非类型”对象没有属性“drop”
错误在于使用inplace=True(在重命名和删除操作中)。这将返回一个非类型对象,而不是要应用drop的预期数据帧。
尝试:
df.rename(columns = {'obs':'observation', 'score':'Dr_score'}, inplace = False).drop('tk',axis=1,inplace=False)
编辑:将上面的行合并到原始函数中:
def rename_drop(df):
df = df.rename(columns = {'obs':'observation', 'score':'Dr_score'}, inplace = False).drop('tk',axis=1,inplace=False)
return df
我有一个熊猫数据框,看起来像这样(但实际上要大得多): 我只想删除包含-500(2)和整列(f和g)的整行。我的数据框是自动生成的,我还不知道哪些列和行包含-500。 有人知道怎么做吗? 谢谢
以下脚本: Floor1正在正确执行,Floor2使用相同的df执行,但使用重命名的列则不正确。我得到一个关键错误: 我知道,有一个类似的问题:重命名列后get keyerror 但我并没有真正得到答案,更重要的是,我没有找到解决办法。
问题内容: 如何重命名表中的列?这些列是: 我想重命名为 我尝试使用PHPMyAdmin面板,但出现此错误: 问题答案: Lone Ranger非常接近…实际上,您还需要指定重命名列的数据类型。例如: 请记住: 将INT替换为您的任何列数据类型(必填) 波浪号/反引号(`)是可选的
问题内容: 尝试从Sybase到Microsoft SQL进行OPENQUERY时,我遇到错误: 通过OPENQUERY和OPENROWSET获得的结果集中不允许重复的列名。列名称“ PatientID”是重复的。 我建立的查询基于相似的entryID和PatientID联接了2个表。 例如: 当然,真正的查询不仅包含更多信息。 是否有重命名或删除AdmID和PatID列之一的好方法? 我尝试过:
我有一个这样的数据帧(): 我想基本上删除重复记录,以便字段是唯一的。我不关心被丢弃的记录,在这种情况下,地址已经被删除,所以唯一通过的是拼写错误。我想要以下结果的数据框: 在R中,基本上是这样做的: 但是我需要一种方法在熊猫身上做到这一点。
有没有比调用多个帧更好的方法来同时为给定的 SparkSQL 添加前缀或重命名所有或多个列? 例如,如果我想检测更改(使用完全外连接)。然后我剩下两个具有相同结构的< code >数据帧。