nie*_*akh 80 python dataframe pandas
创建给定大小的零填充pandas数据帧的最佳方法是什么?
我用过:
zero_data = np.zeros(shape=(len(data),len(feature_list)))
d = pd.DataFrame(zero_data, columns=feature_list)
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法呢?
Shr*_*van 107
你可以试试这个:
d = pd.DataFrame(0, index=np.arange(len(data)), columns=feature_list)
Run Code Online (Sandbox Code Playgroud)
Ale*_*exG 23
在我看来,最好用numpy做到这一点
import numpy as np
import pandas as pd
d = pd.DataFrame(np.zeros((N_rows, N_cols)))
Run Code Online (Sandbox Code Playgroud)
cha*_*Rak 13
如果您希望新数据框与现有数据框具有相同的索引和列,您可以将现有数据框乘以零:
df_zeros = df * 0
Run Code Online (Sandbox Code Playgroud)
如果现有数据框包含 NaN 或非数字值,您可以改为将函数应用于每个只返回 0 的单元格:
df_zeros = df.applymap(lambda x: 0)
Run Code Online (Sandbox Code Playgroud)
小智 8
与@Shravan类似,但没有使用numpy:
height = 10
width = 20
df_0 = pd.DataFrame(0, index=range(height), columns=range(width))
Run Code Online (Sandbox Code Playgroud)
然后你可以用它做任何你想做的事:
post_instantiation_fcn = lambda x: str(x)
df_ready_for_whatever = df_0.applymap(post_instantiation_fcn)
Run Code Online (Sandbox Code Playgroud)