从现有数据帧的某些列创建新的pandas数据帧

Sjo*_*eph 9 python dataframe pandas

我已经读过将csv文件加载到pandas数据帧中,并希望对数据帧进行一些简单的操作.我无法弄清楚如何根据原始数据框中的选定列创建新数据框.我的尝试:

names = ['A','B','C','D']
dataset = pandas.read_csv('file.csv', names=names)
new_dataset = dataset['A','D']
Run Code Online (Sandbox Code Playgroud)

我想创建一个包含原始数据帧中A列和D列的新数据帧.

jez*_*ael 8

它被称为subset- 传递列的列表[]:

dataset = pandas.read_csv('file.csv', names=names)

new_dataset = dataset[['A','D']]
Run Code Online (Sandbox Code Playgroud)

同样如下:

new_dataset = dataset.loc[:, ['A','D']]
Run Code Online (Sandbox Code Playgroud)

如果只需要过滤的输出参数添加usecolsread_csv:

new_dataset = pandas.read_csv('file.csv', names=names, usecols=['A','D'])
Run Code Online (Sandbox Code Playgroud)

编辑:

如果仅使用:

new_dataset = dataset[['A','D']]
Run Code Online (Sandbox Code Playgroud)

并使用一些数据操作,显然得到:

尝试在DataFrame的切片副本上设置值.
尝试使用.loc [row_indexer,col_indexer] = value

如果new_dataset稍后修改值,您会发现修改不会传播回原始数据(dataset),并且Pandas会发出警告.

正如指向EdChum添加copy删除警告:

new_dataset = dataset[['A','D']].copy()
Run Code Online (Sandbox Code Playgroud)