python not in range1002无标题_Python中偶尔遇到的细节疑问(一):去除列名特殊字符、标准差出现nan、切片索引可超出范围、range步长、众数...
1. Pandas读取csv或excel数据时,很可能遇到的columns中,列名会带有特殊字符,例如:空格、
、、双空格、引号等等,如果不想手动修改的话,可以df.rename()来解决。
df =pd.read_excel(data_path)
df_= df.rename(columns=lambda x: x.replace(" ","").replace(' ','').replace(" ","").replace(r"","").replace(r"",""))
如果还有其他的字符,也可以类似解决。
2.python计算标准差时,出现nan:这个原因可能是原始数据都是nan;
但是更有可能是求解std时参数用错了:因为python求解时,有偏估计和无偏估计是用 ddof参数来选择的,求标准差时除以的值是:n-ddof。
如果使用numpy计算的话,numpy.std() 求标准差的时候默认是除以 n,即有偏估计;如果要无偏估计,需要在np.std()参数中加入参数 ddof = 1,也就是除以的是n-1;
然而,pandas却是相反的,它默认是无偏估计,也就是除以 n-1;如果想有偏估计,需要设置参数 ddof=0,即 df.std(ddof=0)。
所以:
如果你的数值序列其他的都是nan,只有一个值不是nan,那么无偏估计时,std求解的标准差就是nan了。
3. 列表、字符串等在直接索引时,不能超出长度范围;但是切片索引时,却可以超出范围,超出范围时取值一直到末尾。
例如:
a = 'abcdefg'
#print(a[10]) # 报错:IndexError: string index out of range
print(a[3:10]) #不报错:返回 defg
b= [2,3,4,5]#print(b[10]) # 报错:IndexError: string index out of range
print(b[2:10]) #不报错:返回 [4, 5]
4. range函数,有步长参数可用
range(start,stop[,step])
有时候,步长参数可以让你减少一层for循环的使用。
for ii in range(1,8,2):print(ii)
5. pandas求取众数 mode() 方法,多个众数时,求所有众数的均值
importpandas as pdimportnumpy as np
df= pd.DataFrame({'name':['Jack','Alex','Bob','Nancy','Mary','Alice','Jerry','Wolf'],'course':['Chinese','Math','Math','Chinese','Math','English','Chinese','English'],'grade':[1,1,2,2,2,2,3,3],'score':[85,85,91,78,89,89,78,79]})print(df.score)
aa= df.score.mode() #众数
print(type(aa)) #
print('aa:',aa) #如果有多个众数,会形成一个序列返回
print(np.mean(aa)) #多个众数时,求均值
注:scipy.stats.mode() 和df.value_counts() 均可用于求众数。
参考:
python not in range1002无标题_Python中偶尔遇到的细节疑问(一):去除列名特殊字符、标准差出现nan、切片索引可超出范围、range步长、众数...相关推荐
- python运行不了、显示警告_Python中偶尔遇到的细节疑问(二):UnicodeDecodeError,警告与忽略警告warnings...
1. 使用base64解码时,出现:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xed in position 21: invalid c ...
- python not in range1002无标题_17个新手常见Python运行时错误
学 Python 时,想要弄懂 Python 的错误信息的含义可能有点复杂.这里列出了常见的的一些让你程序 crash 的运行时错误. 1)忘记在 if , elif , else , for , w ...
- Python基础_第5章_Python中的数据序列
Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...
- Python基础_第3章_Python中的循环结构
Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...
- python的数组和元组区别_python中数组,列表,元组的区别、定义、功能
准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组.列表比元组好用,因为元组一旦定义就没法修改.而列表不仅可以和数组一样按索引访问,还有一堆的功能. 列表: (1)添加 ...
- python 循环中报错 继续运行_python中列表删除和多重循环退出
在学习python的时候,会有一些梗非常不适应,在此列举列表删除和多重循环退出的例子: 列表删除里面的坑 比如我们有一个列表里面有很多相同的值,假如:nums=[1,6,6,3,6,2,10,2,10 ...
- python里的关键字有哪些_Python中的yield关键字做了什么?
Python中的yield关键字做了什么 要理解yield做了什么,就必须明白生成器(generators)为何物,而在明白生成器之前还要知道迭代器(iterables). 1.迭代器 当我们创建一个 ...
- python 获取用户的一个输入值_Python中,用于获取用户输入的命令为:
[多选题]以下关于机器学习说法正确的是? [判断题]Python内置函数sum____用来返回数值型序列中所有元素之和. [单选题]关于自定义函数的下列说法不正确的是: [判断题]Python内置函数 ...
- python round(1234.5678、-2)_Python中你不知道的特性
内置函数print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False) 本函数是实现对象以字符串表示的方式格式化输出到流文件对象fil ...
最新文章
- laravel框架cookie应用到中间件的理解
- python numpy np.argsort()(返回将对数组进行排序的索引)(不懂区别?)
- CVE(Common Vulnerabilities and Exposures通用漏洞披露)笔记
- JAVA进阶教学之(产生随机数)
- 并查集——食物链(poj1182)
- 【Cisco技术资料汇总】
- (140)FPGA面试题-FPGA IP简介
- (37)FPGA原语设计(BUFR)
- oracle关于字符串函数,Oracle字符串处理函数
- ASP.NET程序中 抛出Thread was being aborted. 异常(转)
- MYSQL 某个数据库下所有表的 批量删除表语句
- 美图秀秀图片修改成圆角
- VBA编程教程(基础二)
- 扩散模型——下一个图像生成热点,快上车!!!
- Windows Phone能否第三极崛起
- Vulkan_Ray Tracing 08_光照、材质、阴影
- 学大数据应该会什么?
- VS2008 开发 Sharepoint Workflow 遇到的一些细节
- python testng_自动化测试框架TestNG
- Hadoop之POC测试总结
热门文章
- python将Unix时间戳转换成时间
- Python pytest框架之@pytest.fixture()和conftest详解
- 【测试工具】在linux测试环境访问禅道数据库
- 哈夫曼树(Huffman Tree)的介绍、画法、哈夫曼树的可视化显示(Python代码实现)
- Pycharm怎么改背景颜色(超详细)
- DATA SHARING Help JetBrains improve its products by sending anonymous data about features and plugin
- Android在布局XML中的空格转义符(占位符)
- java输入最大10位数,倒数输出(很鸡肋)
- Docker(4)-容器互联与端口映射
- R学习-- 数组和矩阵