pandas笔记
导入pandas
import pandas as pd
读取excel文件
df = pd.read_excel(r'windows系统文件路径', 'sheet名')
如果是linux系统则不用在文件路径前添加 r
限定某列数据出现次数大于等于2
name = df.列名.value_counts().loc[lambda x: x>=2].index
最后将返回所有符合条件的数据
获取列表中出现的数据(以及未出现的)
list2 = []
for i in name:
list2.append(i)
list2
df = df[df['列名'].isin(list2)]
以上将输出存在于列表中的数据
下面的写法将排除已出现在列表或者series中的数据
new_df1 = new_df[~new_df.isin(df)]
切片索引获取数据
df = df.iloc[:, 3:]
以上获取所有行,以及第4行往后的数据
df = df.iloc[0:14090, 0:3]
删除多列数据
df = df.drop( df.iloc[:, [1,2,4,5,6]], axis=1 )
对列数据进行排序
df = df.sort_values(by='列名', ascending=False)
将数据保存为excel文件
df.to_excel(r'文件路径',sheet_name = "sheet名",index = False,na_rep = 0,inf_rep = 0)
删除空值和重复值
# 这里是删除一列的重复值
df1 = df['列名'].dropna().drop_duplicates()
# 对于总表删除重复行
df.drop_duplicates()
合并多个series为1个series
new_df = pd.Series()
new_df = new_df.append(df1)
new_df = new_df.append(df2)
new_df = new_df.append(df3)
new_df.drop_duplicates()
获取单列
df1 = df["列名"]
文本相似度计算
import difflib
list1 = []
for i in range(14090):
list1.append(difflib.SequenceMatcher(None, df1[i], df2[i]).quick_ratio())
插入新列
df.insert(df.shape[1], '文本相似度', list1)
将列中一部分数据转变为1
list2 = [1 for i in range(14065)]
df.iloc[0:14065, 2] = list2
将表转置
# 将表转置
key1 = pd.DataFrame(key1.values.T, index=key1.columns, columns=key1.index)
获取第4列到最后1列的数据
# 获取第4列到最后1列的数据
value1 = tail.iloc[:, 3:tail.shape[1] + 1]
将函数应用于dataframe中每一个元素
# 将函数应用于dataframe中每一个元素
bool_array = dataframe1.applymap(lambda x:"w" in x)
out_array = dataframe1[bool_array]
将dataframe转换为列表
# 首先将pandas读取的数据转化为array
import numpy as np
data_array = np.array(value1)
# 然后转化为list形式
data_list =data_array.tolist()
本文作者:tiansz
本文链接:https://www.cnblogs.com/tiansz/p/16612373.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步