Python 2.7 Python-创建一个空数据帧,并使用For循环从另一个数据帧填充
在Mac OSX Lion上使用:Python 2.7和Pandas 0.11.0 我试图创建一个空数据帧,然后根据for循环从另一个数据帧填充它 我发现,当我构建数据帧,然后使用for循环时,如下所示:Python 2.7 Python-创建一个空数据帧,并使用For循环从另一个数据帧填充,python-2.7,pandas,Python 2.7,Pandas,在Mac OSX Lion上使用:Python 2.7和Pandas 0.11.0 我试图创建一个空数据帧,然后根据for循环从另一个数据帧填充它 我发现,当我构建数据帧,然后使用for循环时,如下所示: data = pd.DataFrame() for item in cols_to_keep: if item not in dummies: data = data.join(df[item]) 结果是一个空的数据框,但包含要从另一个数据框添加的相应列的标题。这是因
data = pd.DataFrame()
for item in cols_to_keep:
if item not in dummies:
data = data.join(df[item])
结果是一个空的数据框,但包含要从另一个数据框添加的相应列的标题。这是因为您不正确地使用了join 您可以使用列表理解将数据框限制为所需的列:
df[[col for col in cols_to_keep if col not in dummies]]
这是因为您未正确使用join 您可以使用列表理解将数据框限制为所需的列:
df[[col for col in cols_to_keep if col not in dummies]]
如果只是根据您知道要保留的列创建一个新框架,而不是先创建一个空框架,怎么样
import pandas as pd
import numpy as np
df = pd.DataFrame({'a':np.random.randn(5),
'b':np.random.randn(5),
'c':np.random.randn(5),
'd':np.random.randn(5)})
cols_to_keep = ['a', 'c', 'd']
dummies = ['d']
not_dummies = [x for x in cols_to_keep if x not in dummies]
data = df[not_dummies]
data
a c
0 2.288460 0.698057
1 0.097110 -0.110896
2 1.075598 -0.632659
3 -0.120013 -2.185709
4 -0.099343 1.627839
如果只是根据您知道要保留的列创建一个新框架,而不是先创建一个空框架,怎么样
import pandas as pd
import numpy as np
df = pd.DataFrame({'a':np.random.randn(5),
'b':np.random.randn(5),
'c':np.random.randn(5),
'd':np.random.randn(5)})
cols_to_keep = ['a', 'c', 'd']
dummies = ['d']
not_dummies = [x for x in cols_to_keep if x not in dummies]
data = df[not_dummies]
data
a c
0 2.288460 0.698057
1 0.097110 -0.110896
2 1.075598 -0.632659
3 -0.120013 -2.185709
4 -0.099343 1.627839