pandas相关(不定期更新)
1.pandas 读取excel时,遇到数字变为科学计数法
# 解决方法,将对应字段转为str
df = pd.read_excel("./test.xlsx", converters={"id": str})
2.pandas读取TXT
假如有一个txt文件,它里面的元素是以空格或制表符分隔的,且没有规律,在这种情况下,就可以用正则表达式兼顾两种分隔符。可以使用通配符\s,\s匹配空格和制表符,’’表示1个或者多个字符。例如:
df=pd.read_table('data1.txt', sep='\s+')
另外一种常见情况是,解析数据时把空行排除在外,文件中的表头或没有必要的注释也用不到。使用skiprows选项,可以排除多余的行,把要删除的行和行号放到数字中,赋值给该参数即可。例如:
skiprows参数是除外多少行
skiprows=5:排除前五行
skiprows=[5]:排除第五行
df=pd.read_table('data3.txt', sep=',', skiprows=[0,1,3,6])
3.pandas字符串列合并,合并函数str.cat
准备数据:
import pandas as pd
df = pd.DataFrame({'姓名' : ['小红','大红','小明','大明','小亮'],
'性别' : ['女', '女','男','男','男'],
'班级' : [1,2,1,1,2],
'身高' : [160,161,180,180,170]
}
)print(df)
函数代码:
df['合并1']=df['姓名']+df['性别'] #+df['身高']
df['合并2']=df['姓名'].str.cat(df['性别'],sep=',')#str.cat可以加sep参数分隔符
print(df)
4.pandas将列数据转成列表
函数代码:
file_name = df['姓名'].values.tolist()