2024-04-25 05:38:11 发布
网友
我正在使用一个有92列和200000行的数据帧。我想对这些列中的每一列的数据进行分类和计数,并将其放入新的数据框中,以便进行进一步的绘图/分析
我正在使用
bins = [-800, -70, -60, -50, -40, -30, -20, -5, 0] df['Depth.1'].value_counts(bins=bins, sort = False)
它成功地存储数据,但一次只能存储一列数据。是否可以对数据框中的多个列执行此操作,并将其放入新的数据框中
谢谢
可以使用^{}对每列执行相同的操作。试一试
new_df = df.apply(lambda x: x.value_counts(bins=bins, sort=False))
举个例子,如果所有列都不会被装箱:
#sample data df = pd.DataFrame({'a':[3,6,2,7,3], 'b':[2,1,5,8,9], 'c':list('abcde')})
如果执行上述方法,将得到一个错误,因为列的类型为string。因此,您可以定义列列表并执行以下操作:
list_cols = ['a','b'] #only the numerical columns new_df = df[list_cols].apply(lambda x: x.value_counts(bins=[0,2,5,10], sort=False)) print(new_df) a b (-0.001, 2.0] 1 2 (2.0, 5.0] 2 1 (5.0, 10.0] 2 2
可以使用^{} 对每列执行相同的操作。试一试
举个例子,如果所有列都不会被装箱:
如果执行上述方法,将得到一个错误,因为列的类型为string。因此,您可以定义列列表并执行以下操作:
相关问题 更多 >
编程相关推荐