Ken*_*ams 3 indexing dataframe pandas
我正在寻找一种有效的习惯用法来创建一个新的 Pandas DataFrame,它的列和类型与现有的Pandas相同DataFrame,但没有行。以下工作,但可能比它可能效率低得多,因为它必须创建一个长索引结构,然后为每一行评估它。我假设这O(n)是行数,我想找到一个O(1)解决方案(这看起来还不错)。
out = df.loc[np.repeat(False, df.shape[0])].copy()
Run Code Online (Sandbox Code Playgroud)
我copy()在那里,因为老实说,我不知道在什么情况下我会得到副本或查看原件。
为了在 R 中进行比较,一个很好的习惯用法是 do df[0,],因为没有第零行。 df[NULL,]也有效。
我认为熊猫中的等价物将使用切片 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
Run Code Online (Sandbox Code Playgroud)
df1 = df.iloc[:0].copy()
print(df1)
Empty DataFrame
Columns: [A, B]
Index: []
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |