我已经读过将csv文件加载到pandas数据帧中,并希望对数据帧进行一些简单的操作。我无法弄清楚如何根据原始数据框中的选定列创建新数据框。我的尝试:
names = ['A','B','C','D']
dataset = pandas.read_csv('file.csv', names=names)
new_dataset = dataset['A','D']
我想创建一个包含原始数据框中A列和D列的新数据框。
答案 0 :(得分:6)
它被称为subset
- 传递了[]
中的列列表:
dataset = pandas.read_csv('file.csv', names=names)
new_dataset = dataset[['A','D']]
与...相同:
new_dataset = dataset.loc[:, ['A','D']]
如果只需要过滤输出,请将参数usecols
添加到read_csv
:
new_dataset = pandas.read_csv('file.csv', names=names, usecols=['A','D'])
编辑:
如果仅使用:
new_dataset = dataset[['A','D']]
并使用一些数据操作,显然得到:
正在尝试在DataFrame的切片副本上设置值 尝试使用.loc [row_indexer,col_indexer] = value而不是
如果稍后修改new_dataset
中的值,您会发现修改不会传播回原始数据(dataset
),并且Pandas会发出警告。
new_dataset = dataset[['A','D']].copy()