pandas如何统计excel中列数据的行数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas如何统计excel中列数据的行数?相关的知识,希望对你有一定的参考价值。

列数据的统计数,现有值a,a,b,c ,c,c 如何得到计数列?
已知“值”列,求“计数”列?
结果如下:

准备测试数据:

测试数据

打开PyCharm输入以下代码

程序代码

运行效果如下:

运行效果展示

附上实现代码:

#!/usr/bin/env python

import pandas as pd

OPENPATH = 'test.xls'
SAVEPATH = 'test1.xls'

def total_count(path=OPENPATH, sheetname='testsheet'):
df = pd.read_excel(path, sheet_name=sheetname, names=['值', '计数'])
# 获取统计项目
item_name = set(df['值'])
# 创建字典统计
total_dict = dict(zip([i for i in item_name], [
0 for _ in range(len(item_name))]))
# 遍历”值“列,逐个统计数量
for index, item in enumerate(df['值']):
# 如果在set中
if item in item_name:
# 加入计数统计
total_dict[item] += df['计数'][index]
# 返回
return total_dict

def datato_excel(path=SAVEPATH, sheet_name='total', data_dict=):
report_df = pd.DataFrame.from_dict(data_dict,orient='index')
xl_writer = pd.ExcelWriter(path)
report_df.to_excel(xl_writer, sheet_name)
try:
xl_writer.save()
print('Save completed')
except:
print('Error in saving file')

if __name__ == "__main__":
datato_excel(data_dict=total_count())

不知道这是不是您想要的结果,如果有帮助,请采纳一下,谢谢!

追问

如图,已知“值”列,求出“计数”列。如:相同的a有多少个,查到一个a,计数列就加1

参考技术A 1.导入数据源 #导入相关库 import pandas as pd import numpy as np import os from pandas import ...
2.数据基本处理
3.查看列名和数据类型 print(df.columns) #查看列名 print(df.dtypes) #查看各列数据类型
4.查看指定行列数据 print(df.head(20)) #查看前20行数据
参考技术B 首先需要用pip 安装pandas、 xlrd、openpyxl,
import pandas as pd
data_path = 'C:/EXCEL/1.xlsx' //此处为excel表的路径
data = pd.read_excel(data_path)
data.loc[0,'ground_time'] = '888' //0代表第一行,‘ground_time’是列名
data.to_excel(data_path, index=None)
print(data)

data.shape[1] #获取列数
data.shape[0] #获取行数
参考技术C

import pandas as pd

data = pd.read_excel('C:/EXCEL/1.xlsx' )

print(data.assign(计数=data.groupby('值').cumcount()+1))

参考技术D b2=if(a2<>a1,1,b1+1)下拉,顺便纠正下纵向叫行,横叫列

Excel表格如何统计选中行的行数?

1,打开Excel表格程序,进入程序主界面中,打开一张要进行操作的表格。

2,接着,在Excel表格中点击上方菜单中的“函数”,点击以下的函数。

3,在对话框窗口中输入以下内容。

4,接着,在第二行位置输入统计的区域。

5,最后,即可看到Excel自动统计的行数,问题解决。

参考技术A 如果你是整行选中的话 是无法自动 显示在 状态栏 函数的结果的!

只能用 vba 来进行计算!

如果你是 通过 按住 ctrl 键这样子 选中 不同的行的话 可以通过如下代码来实现你的 行数计数……

复制这段代码 粘贴到 插入的模块中( alt+f11 插入模块),然后 选完之后 再运行这个 宏……

Sub tt()
For i = 1 To Selection.Areas.Count
j = j + Selection.Areas(i).Rows.Count
Next
MsgBox "一共选中了 " & j & " 行"
End Sub
参考技术B 如果你是整行选中的话 是无法自动 显示在 状态栏 函数的结果的!

只能用 vba 来进行计算!

如果你是 通过 按住 ctrl 键这样子 选中 不同的行的话 可以通过如下代码来实现你的 行数计数……

复制这段代码 粘贴到 插入的模块中( alt+f11 插入模块),然后 选完之后 再运行这个 宏……

Sub tt()
For i = 1 To Selection.Areas.Count
j = j + Selection.Areas(i).Rows.Count
Next
MsgBox "一共选中了 " & j & " 行"
End Sub

以上是关于pandas如何统计excel中列数据的行数?的主要内容,如果未能解决你的问题,请参考以下文章

pandas中列方向字符统计及其合并

如何根据python中列中的变量位置计算行数

如何使用python pandas删除csv中列中的精确重复项

table中列的循环遍历

如何使用Scala计算Spark中数据框中列的开始索引和结束索引之间的行的平均值?

fastreport中列宽固定 根据字段内容多少自动调整行高