【发布时间】:2016-02-06 18:05:23
【问题描述】:
数据框df1 包含列Week、Mon:Sun、Total。
以下是从 df1 中的列创建新数据框“df2”的 3 种方法:
df2 = pd.concat(
[df1.Sun,df1.Mon,
df1.Tues, df1.Weds,
df1.Thurs, df1.Fri,
df1.Sat], axis=1)
df2 = df1.drop(['Week', 'Total'], axis=1)
df2 = df1[['Sun','Mon','Tues','Weds','Thurs','Fri','Sat']]
这些有何不同?在什么情况下各自有利?
【问题讨论】:
-
这是 R 还是 Python?
-
如果您附上一些示例或数据框的一部分,那么测试这些方法会更容易
-
绝对不是第一个;它又长又丑又低效。另外两个将取决于情况,例如您可能会选择相对较少的列或删除相对较少的列,如上例所示。您可能还希望向代码的读者明确选择(或删除)哪些列。我怀疑它们之间在内存使用方面有什么关系
-
另外,
drop可以配置为通过传递errors='ignore'删除可能存在或不存在的列 -
df2 到底是什么 - 在此步骤之前它是否已初始化?
标签: python pandas dataframe concat