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列的新数据帧.
它被称为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)
如果只需要过滤的输出参数添加usecols
到read_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会发出警告.
new_dataset = dataset[['A','D']].copy()
Run Code Online (Sandbox Code Playgroud)