pandas - Pandas DataFrame 的空副本

标签 pandas dataframe indexing

我正在寻找一个有效的成语来创建一个新的 Pandas DataFrame具有与现有 DataFrame 相同的列和类型,但没有行。以下工作,但可能比它可能效率低得多,因为它必须创建一个长索引结构,然后为每一行评估它。我假设那是 O(n)在行数中,我想找到一个 O(1)解决方案(看起来还不错)。

out = df.loc[np.repeat(False, df.shape[0])].copy()
我有 copy()在那里,因为老实说,我不知道在什么情况下我会得到副本或查看原件。
为了在 R 中进行比较,一个不错的习惯用法是做 df[0,] ,因为没有第零行。 df[NULL,]也有效。

最佳答案

我认为 Pandas 中的等价物将使用 iloc 进行切片

df = pd.DataFrame({'A' : [0,1,2,3], 'B' : [4,5,6,7]})
print(df1)
   A  B
0  0  4
1  1  5
2  2  6
3  3  7
df1 = df.iloc[:0].copy()

print(df1)
Empty DataFrame
Columns: [A, B]
Index: []

关于pandas - Pandas DataFrame 的空副本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65188612/

相关文章:

Python-pandas 将 NA 替换为数据框中一组的中位数或均值

python - 如何将 csv 转换为嵌套 json

postgresql - 全文搜索的索引列

python - 选择 Python pandas 中的所有行

pandas - 遍历 Pandas 中的行和列

python - 如何按照 python 中 matplotlib 中收到的顺序对条形进行排序?

Python读取txt文件作为输入: IndexError: list index out of range?

python - Pandas :noauth_local_webserver

python - python pandas 中两列之间的日期时间计算

indexing - Lua中返回表的索引