python 记录几个经常用错的函数

本文深入探讨了Numpy和Pandas在数据处理中的应用,包括Numpy的数组操作、数学函数,以及Pandas的数据清洗、筛选和删除技巧。通过实例展示了如何使用np.sum进行数组求和,以及Pandas DataFrame的drop和reset_index方法。

sum 和 np.sum

>>> import numpy as np
>>> a = np.array([[1,2,3,4],[3,2,1,2]])
>>> sum(a)
array([4, 4, 4, 6])
>>> np.sum(a)
18
>>> np.sum(a,axis = 0) #按行
array([4, 4, 4, 6])
>>> np.sum(a,axis = 1) #按列
array([10,8])

Numpy

>>> type(a) 
	#检验a的类型是否为ndarray
numpy.ndarray
>>> a.dtype 
	# 查看ndarray中的数据属于那种数据类型
dtype('float64')
>>> np.linspace(0,5,10) 
	# 第三个数(10)用来把头(0)和尾(5)组成的区间等分成10等分。
array([ 0.        ,  0.55555556,  1.11111111,  1.66666667,  2.22222222,
        2.77777778,  3.33333333,  3.88888889,  4.44444444,  5.        ])

Pandas

>>> import pandas as pd
>>> Data.drop([index]) 
	#如Data.drop([0]) -- 去掉第一行
	#对Data不做修改,需重新赋值给其他变量,且drop后行号不变,即抽掉0后从1开始
>>> Data_new = Data.drop([index]).reset_index()
>>> del Data_new['index']  
	#去掉一列:del Data['colName'] 
	# del 对Data直接修改					

>>> Data.drop(Data[Data.月销量 == 100].index) 
	# 筛选后删除行
>>> Data.月份.drop_duplicates() 
	# 删除重复值

>>> Data.skuID 
	# Series , 可用str.split('/')
>>> Data['skuID'] 
	# Series , 可用str.split('/') 
>>> Data[['skuID']
	# DataFrame , 不可用str

<think>嗯,用户想知道怎么用Python制作函数图像。首先,我需要考虑用户可能的背景。可能是个学生或者刚学编程的人,对Python有一定基础,但不太熟悉绘图库。他们可能需要一个简单明了的步骤指南。 首先,我应该推荐常用的库,比如Matplotlib,因为它最常用,资料也多。然后可能需要提到NumPy,因为生成数据点需要用到。用户可能不知道这两个库,所以得先让他们安装。 然后,步骤应该分安装库、生成数据、绘图和显示几个部分。每个部分要具体,比如给出安装命令,示例代码,并解释每行代码的作用。这样用户能跟着一步步操作。 可能用户会遇到的问题,比如库没安装导致的导入错误,或者函数写错了导致图像不对。需要提醒他们检查安装,还有确保代码正确。另外,可能想绘制不同的函数,所以给出修改函数部分的提示,比如改成sin或者更复杂的表达式。 还要考虑是否需要更复杂的图像,比如子图、3D图,但用户的问题可能只需要基础的2D图,所以放在扩展部分,简单提一下,让用户知道有更多可能性。 最后,确保代码示例正确,用中文注释,或者用中文解释代码。可能需要测试一下代码,确保没有语法错误。比如,使用plt.plot之后要有plt.show(),有时候在IDE里可能需要配置,但在Jupyter里可能不用。但为了通用性,还是加上show()比较好。 总结下来,回答的结构应该是:安装库、生成数据、绘制图像、完整示例,然后是扩展部分。保持语言简单,步骤清晰,避免专业术语过多,让新手也能理解。</think>我们将分步骤介绍用Python绘制函数图像的完整方法,以绘制$y=\sin(x)$和$y=x^2$为例: --- ### **1. 环境准备** ```python pip install matplotlib numpy # 安装两个核心库 ``` - `matplotlib`:专业绘图库 - `numpy`:数值计算库,用于生成数据点 --- ### **2. 生成数据点** ```python import numpy as np x = np.linspace(-5, 5, 500) # 生成-5到5之间的500个等间距点 y_sin = np.sin(x) # 计算正弦函数值 y_square = x ** 2 # 计算二次函数值 ``` --- ### **3. 基础绘图** ```python import matplotlib.pyplot as plt plt.figure(figsize=(8,4)) # 创建8英寸宽4英寸高的画布 plt.plot(x, y_sin, label='$y=\sin(x)$') # 绘制正弦曲线 plt.plot(x, y_square, label='$y=x^2$') # 绘制二次函数曲线 ``` --- ### **4. 添加图形元素** ```python plt.title('函数图像对比') # 标题 plt.xlabel('x轴') # x轴标签 plt.ylabel('y轴') # y轴标签 plt.grid(True) # 显示网格 plt.legend() # 显示图例 plt.axis([-5, 5, -2, 25]) # 设置坐标范围[xmin, xmax, ymin, ymax] ``` --- ### **5. 显示/保存图像** ```python plt.show() # 显示图像 # plt.savefig('function.png') # 保存为图片文件 ``` --- ### **完整代码示例** ```python import numpy as np import matplotlib.pyplot as plt # 生成数据 x = np.linspace(-5, 5, 500) y_sin = np.sin(x) y_square = x**2 # 绘制图像 plt.figure(figsize=(8,4)) plt.plot(x, y_sin, label='$y=\sin(x)$', color='blue') plt.plot(x, y_square, label='$y=x^2$', color='red', linestyle='--') # 设置图形属性 plt.title('函数图像对比') plt.xlabel('x轴') plt.ylabel('y轴') plt.grid(True, alpha=0.3) plt.legend() # 显示图像 plt.show() ``` --- ### **效果说明** - 蓝色实线为$\sin(x)$的波动曲线 - 红色虚线为$x^2$的抛物线 - 两图叠加显示可直观对比函数形态差异 --- ### **扩展功能** 1. **绘制子图**:使用`plt.subplot(行,列,序号)` 2. **3D绘图**:导入`mpl_toolkits.mplot3d` 3. **动态图**:结合`animation`模块 4. **交互式绘图**:使用`plotly`库 --- ### **常见问题** 1. **坐标轴不显示中文**:需配置中文字体 2. **图像显示模糊**:调整`dpi`参数(例如`plt.savefig('img.png', dpi=300)`) 3. **函数不连续**:减少`linspace`的间距(增加第三个参数) 如果需要绘制其他函数,只需修改对应的数学表达式即可,例如将`x**2`改为`np.exp(x)`可绘制指数函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值