python 使用过程问题总结
来源:互联网 发布:域名别名是什么 编辑:程序博客网 时间:2024/04/19 13:42
对于刚接触Python,在使用过程中存在许多简单或复杂的问题,本文总结Python使用过程中常见的一些问题,欢迎补充。
1 Python,使用pip提示 name pip is not defined
可能是安装的时候没有勾选pip,导致pip无法使用。
1.2 安装Python时勾选了add to path 和pip,但是输入pip还是提示
>>> pip
Traceback (most recent call last):
File “< stdin>”, line 1, in <module>
NameError: name ‘pip’ is not defined
在cmd命令符下输入pip,而不是在Python解释器中输入pip。
2 python注释
单行注释:#
#注释文字
多行注释:两个”’或者”“”括起来。
如:
'''第一行注释第二行注释'''
3 name ‘xrange’ is not defined
在3.0以后的版本,取消了xrange,并 改名为range(),要想使用range()获得一个list,必须显式调用:
>>>list(range(5))
4 如何设置DataFram的行名和列名
直接赋值即可:
df.columns=[] df.index.name=[]
5 将某一列设置为index
df.index=df['column_name ']
6 将时间戳(绝对时间)转换成地区时间
两种方法,分别得到不同数据类型的时间:
- 方法1 :先通过localtime函数转化成当地时间,然后通过strftime按照某个格式转化为字符串,因此这种方法得到的是字符串类型的时间。
eg:
import timestamp=1499866461time_loc=time.localtime(stamp)time=time.strftime('%Y-%m-%d %H%M%S',time_loc)
- 方法2:引入 datetime,通过utcfromtimestamp函数直接转换。这种方法得到的类型是datetime.datetime。
stamp=1499866461time=datetime.utcfromtimestamp(stamp)
In [12]: from datetime import datetimeIn [13]: stamp=1499866461In [14]: time=datetime.utcfromtimestamp(stamp)In [15]: type(time) Out[15]: datetime.datetime
7 将字符串类型的时间转化成“时间戳”索引
引入了 pandas,构造DataFrame 类型数据。
In [18]: df=pd.DataFrame({'date':['2017/7/1','2017/7/2','2017/7/3'],'num':['1','2','3'],'char':['a','b','c']})In [19]: dfOut[19]: char date num0 a 2017/7/1 11 b 2017/7/2 22 c 2017/7/3 3In [21]: df.info()<class 'pandas.core.frame.DataFrame'>RangeIndex: 3 entries, 0 to 2Data columns (total 3 columns):char 3 non-null objectdate 3 non-null objectnum 3 non-null objectdtypes: object(3)memory usage: 152.0+ bytes
接下来要做的事情是:1.把date数据类型变为时间类型datetime,2.变为索引
- 方法一:运用pandas的.to_datetime 和 .set_index
In [23]: df['date']=pd.to_datetime(df['date'])#转换成datetime类型In [24]: df.info()<class 'pandas.core.frame.DataFrame'>RangeIndex: 3 entries, 0 to 2Data columns (total 3 columns):char 3 non-null objectdate 3 non-null datetime64[ns]num 3 non-null objectdtypes: datetime64[ns](1), object(2)memory usage: 152.0+ bytesIn [25]: df.set_index(df['date'])#设置为indexOut[25]: char date numdate 2017-07-01 a 2017-07-01 12017-07-02 b 2017-07-02 22017-07-03 c 2017-07-03 3
- 方法2:运用函数.DatetimeIndex
In [29]: df.index=pd.DatetimeIndex(df['date'])In [30]: df.indexOut[30]: DatetimeIndex(['2017-07-01', '2017-07-02', '2017-07-03'], dtype='datetime64[ns]', name='date', freq=None)In [31]: dfOut[31]: char date numdate 2017-07-01 a 2017/7/1 12017-07-02 b 2017/7/2 22017-07-03 c 2017/7/3 3
可以看到,DatetimeIndex函数直接转换成Datetime类型的index,但是date数据项依然存在,因此,需要删去:
del df['date']
8 raise error:OSError: Initializing from file failed
描述:pd.read_table(‘filepath’)出现错误,原因是不支持中文的路径,
解决方法:
import ospwd=os.getcwd()os.chdir(os.path.dirname(filepath))result= pd.read_table(os.path.basename(filepath))os.chdir(pwd)
9 数字转换成字符串,方便进行索引,切片,匹配
解决方法:’%d’%x
0 0
- python 使用过程问题总结
- git使用过程问题总结
- Diffy使用过程问题总结
- python最近使用问题总结
- Quartus、SOPC、Nios使用过程问题总结
- AS3使用过程中问题总结
- yii+mySQL使用过程中问题总结
- Android Studio 1.2使用过程问题总结
- luajavabridge 使用过程出现问题的总结
- ckeditor使用过程中的问题总结1
- Zabbix使用过程中的问题总结
- select2使用过程中的问题总结
- Elasticsearch使用过程中的问题总结
- 总结自己Python环境配置过程和碰到的问题
- ubuntu使用过程的一些问题(一些问题总结)
- python-->django使用过程中碰到的异常总结
- Python的logging功能使用过程中的一个问题
- python使用过程中遇到的各种奇怪的问题
- 当vs2015 创建ADO实体生成模型的时候出现的连接异常
- ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
- 大型网站技术架构小结
- chrome jsonView插件安装
- 你还在用for循环大法麽?
- python 使用过程问题总结
- 人数,点赞统计(>9999人时,显示为1.00万人)
- 简单理解JavaScript中的闭包
- spark笔记
- 基于JQuery的井字过三关游戏(两玩家对战)
- 正向/反向 代理
- java自定义注解
- 康复计划#5 Matrix-Tree定理(生成树计数)的另类证明和简单拓展
- The method of type must override a superclass method解决方式