Python 索引和删除数据帧列
我很难理解为什么在第一行我们需要添加Python 索引和删除数据帧列,python,pandas,apply,Python,Pandas,Apply,我很难理解为什么在第一行我们需要添加行。例如:行['G1'] 但是,在第二行中,当我们删除它们时,我们不使用行['G1'],而只是将['G1'] 还有r['pass']=做什么?为什么在r之后需要['pass'] 代码: 您需要了解的第一件事是,r是一个数据帧,可以通过执行df[column\u name]来访问数据帧中的列。因此,r['pass']表示您正在数据帧r中添加一个名为pass的新列,其中的值将根据apply语句中的条件进行添加 使用时,当您看到文档时,输入可以是单个标签或列表。由于
行
。例如:行['G1']
但是,在第二行中,当我们删除它们时,我们不使用行['G1']
,而只是将['G1']
还有r['pass']=
做什么?为什么在r
之后需要['pass']
代码:
您需要了解的第一件事是,
r
是一个数据帧,可以通过执行df[column\u name]
来访问数据帧中的列。因此,r['pass']
表示您正在数据帧r
中添加一个名为pass
的新列,其中的值将根据apply
语句中的条件进行添加
使用时,当您看到文档时,输入可以是单个标签或列表。由于要删除多个列,因此很容易列出要删除的列并以drop语法传递
在第二行中,当我们删除它们时,我们不使用行['G1'],
我们只是把['G1']
如果查看文档,您会发现它在开头使用了DataFrame
,后面跟着.drop()
。因此,在本例中,它是:r.drop()
。当您执行r.drop(['G1',G2',G3',axis=1)
时,您要做的是选择要删除的列列表(在本例中为['G1',G2',G3']
)。而axis=1
表示要从列中删除值
有关更多信息,请参阅文档。您一定会通过仔细阅读;-)找到答案
import pandas as pd
r = pd.read_csv("Data.csv", sep = ';')
len(r)
r['pass'] = r.apply(lambda row: 1 if (row['G1'] + row['G2'] + row['G3']) >= 35 else 0, axis=1)
r = r.drop(['G1', 'G2', 'G3'], axis=1)
r.head()