【发布时间】:2017-01-03 13:56:07
【问题描述】:
我想删除 pandas 数据框中的所有数据,但我得到了TypeError: drop() takes at least 2 arguments (3 given)。我基本上想要一个只有我的列标题的空白数据框。
import pandas as pd
web_stats = {'Day': [1, 2, 3, 4, 2, 6],
'Visitors': [43, 43, 34, 23, 43, 23],
'Bounce_Rate': [3, 2, 4, 3, 5, 5]}
df = pd.DataFrame(web_stats)
df.drop(axis=0, inplace=True)
print df
【问题讨论】:
-
我确实喜欢@ayhan 的解决方案,但我认为
df = pd.DataFrame(columns=df.columns)会更快更高效... -
同意@MaxU——它实际上快了大约 100 倍(测试数据帧有 1M 行和 10 列)
-
df.iloc[0:0]实际上比 df 构造要快。我猜您是在将其与 drop 而不是 iloc 进行比较? -
@ayhan,你说得对,我说的是
df.drop(...) -
之后使用
gc.collect()不是一个好主意吗?
标签: python python-2.7 pandas