Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从现有dataframe的某些列创建新dataframe_Python_Pandas_Dataframe - Fatal编程技术网

Python 从现有dataframe的某些列创建新dataframe

Python 从现有dataframe的某些列创建新dataframe,python,pandas,dataframe,Python,Pandas,Dataframe,我已经读取并加载了一个csv文件到pandas数据框中,希望对数据框进行一些简单的操作。我不知道如何基于从原始数据帧中选择的列创建新的数据帧。我的尝试: names = ['A','B','C','D'] dataset = pandas.read_csv('file.csv', names=names) new_dataset = dataset['A','D'] 我想用原始数据框中的a列和D列创建一个新的数据框。它被称为子集-在[]中传递的列列表: dataset = pandas.rea

我已经读取并加载了一个csv文件到pandas数据框中,希望对数据框进行一些简单的操作。我不知道如何基于从原始数据帧中选择的列创建新的数据帧。我的尝试:

names = ['A','B','C','D']
dataset = pandas.read_csv('file.csv', names=names)
new_dataset = dataset['A','D']

我想用原始数据框中的a列和D列创建一个新的数据框。

它被称为
子集
-在
[]
中传递的列列表:

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

new_dataset = dataset[['A','D']]
什么是相同的:

new_dataset = dataset.loc[:, ['A','D']]
如果只需要过滤输出,将参数
usecols
添加到:

编辑:

如果仅使用:

new_dataset = dataset[['A','D']]
使用一些数据处理,显然可以得到:

试图在数据帧切片的副本上设置值。
尝试改用.loc[row\u indexer,col\u indexer]=value

如果稍后修改
new\u dataset
中的值,您将发现修改不会传播回原始数据(
dataset
),并且不会发出警告

如上所述,添加删除警告:

new_dataset = dataset[['A','D']].copy()

将感兴趣的列传递给子选择:
new_dataset=dataset[['a','D']]
请注意,如果要对副本进行操作,请调用
copy()
new_dataset=dataset[['a','D']]。copy()
new_dataset = dataset[['A','D']].copy()