我有python pandas变量赋值的问题: 我有像
这样的元组asd=('prostate1.csv','dtime','status1','age','hg','sz','sg','pf','rx')
阅读文件就好了:
prostate_dataset=pd.read_csv(asd[0])
但修剪数据集无法无缝工作:
prostate_dataset=prostate_dataset[[for x in asd[1:]]]
我想要得到的是这样的:
prostate_dataset=prostate_dataset[[asd[1],asd[2],asd[3],asd[4],asd[5],asd[6],asd[7],asd[8]]]
我试过了:
act='\',\''.join(asd[1:])
prostate_dataset=prostate_dataset[[act]]
但它没有奏效,因为反斜杠标志仍包括
提前致谢
答案 0 :(得分:1)
将其转换为列表以过滤您的df:
prostate_dataset=prostate_dataset[list(asd[1:])]
应该有效:
In [157]:
asd=('prostate1.csv','dtime','status1','age','hg','sz','sg','pf','rx')
list(asd[1:])
Out[157]:
['dtime', 'status1', 'age', 'hg', 'sz', 'sg', 'pf', 'rx']
这里要理解的是,对元组的切片将返回带有切片范围中值的元组,但要索引df,您应该传递一个您感兴趣的列名列表。