python
python处理数据
阅读和实践
“刨祖坟式”阅读,“帕累托式”实践。
展开
-
python:做柱状图
plt.bar(categories, values, color=['red', 'green', 'blue', 'orange'])#颜色可以增加。出现报错,字体不可用,我们可以看到,设置的题目和x轴y轴的名称没有出现。plt.xlabel('类别', fontproperties=prop)plt.xlabel('类别', fontproperties=prop)plt.xlabel('类别', fontproperties=prop)# 添加标题和标签,并使用新宋体字体。原创 2024-05-10 02:15:00 · 797 阅读 · 0 评论 -
python:画折线图
plt.title('柱状图示例', fontproperties=prop)plt.xlabel('类别', fontproperties=prop)plt.ylabel('数值', fontproperties=prop)# 假设 xlsx 文件包含两列,一列是类别,一列是数值。# 添加标题和标签,并使用新宋体字体。#以上是自己的数据,可以加上这个。# 创建柱状图,并设置颜色。# 设置新宋体字体的路径。# 读取 xlsx 文件。原创 2024-05-09 22:15:00 · 368 阅读 · 0 评论 -
python:画饼图
plt.pie(sizes, labels=labels, autopct='%1.1f%%', startangle=140) # autopct 参数用于显示百分比。labels = df['Category'].tolist() # 假设 'Category' 列包含标签数据。sizes = df['Value'].tolist() # 假设 'Value' 列包含每个部分的大小数据。那我们进阶一下,我们现在要导入我们自己的数据来画图,假设我们的数据在一个xlsx中,那该如何?原创 2024-05-08 20:49:07 · 597 阅读 · 0 评论 -
python:reportlab 生成pdf:基本用法。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple reportlab #从清华镜像安装更快。c.setFont('SimSun', 12) # 设置字体为中文字体,大小为12。# 这里的 'simsun.ttf' 是中文字体文件名,需提前下载并放置在正确的路径下。c.drawString(100, 750, "你好,世界!") # 中文字符。#这个需要下载宋体文件,并保存在固定的路径中。#但上面的代码有一个问题,就是不能识别中文。原创 2024-04-28 20:43:26 · 1115 阅读 · 2 评论 -
python 将批量处理二进制json文件转为文本格式的json。
这个需求来自我在一个json编辑网站上,制作json文件,最后发现它们都转化为了二进制json。with open(input_path, 'rb') as binary_file: #文本json,只需加"r",二进制json需要"rb"模式。json_data = json.loads(binary_data.decode('utf-8-sig')) #去掉bom头。# 只处理以'.json'为扩展名的文件。# 读取二进制JSON文件。input_directory = '输入目录'原创 2024-04-08 21:45:00 · 512 阅读 · 0 评论 -
python提取一个目录下的json文件或其它格式的所有文件。
有时候,我们会遇到问题,比如需要提取一个具有多层级目录下的所有某些格式的文件,目录结构有好几层,里面的目录套着更多的目录。文件数量有几十到几万。我以json格式为例。这样,我们就把这个目录下的所有json文件提取到我们的输入目录里面了,可以更换其它的文件格式。destination_directory = "输入目录"source_directory = "提取目录"# 指定源目录和目标目录路径。# 复制所有 JSON 文件。原创 2024-03-22 10:21:08 · 397 阅读 · 0 评论 -
python,按含有样本时间的列名,增加年,月,季节三列。
需要增加三列,一列为年,一年为月日,一列为春夏秋冬,其中3,4,5月为春,6,7,8月为夏,9,10,11月为秋,12,1,2月为冬。df['月'] = df['月日'].str[0:2].astype(int)df['季节'] = df['月'].apply(get_season)df['样本号'] = df['样本号'].astype(str)df['月日'] = df['样本号'].str[4:8]df['年'] = df['样本号'].str[:4]return '春'return '夏'原创 2024-03-16 11:12:51 · 343 阅读 · 0 评论 -
临床样本检测结果按时间排序,选择最晚的结果为准。
df = df.sort_values(by=['患者号', '日期'], ascending=[True, False]) #患者号升序,日期降序。df['日期'] = pd.to_datetime(df['日期'], format='%Y%m%d') #字符串转为时间。df['日期'] = df['样本号'].astype(str).str[:8]df = df.drop_duplicates('患者号') #保留最后一个。df = pd.read_excel('目录/file.xlsx')原创 2024-03-12 15:58:38 · 177 阅读 · 1 评论 -
临床样本不同时间多次检测结果,如果出现阳性,则保留阳性结果,如果出现阴性,则保留最后一次结果。
latest_positive_result = patient_data[patient_data['检测结果'] == '阳性'].iloc[0]df = df.sort_values(by=['患者号', '日期'], ascending=[True, False])df['日期'] = pd.to_datetime(df['日期'], format='%Y%m%d')df['日期'] = df['样本号'].astype(str).str[:8]# 按照患者号和日期进行排序。# 找出重复的患者号。原创 2024-03-12 16:20:18 · 204 阅读 · 1 评论 -
检查一个目录下json文件的内容是否包含某些字段,如果有输出是,如果没有输出否
has_1 = "T" if "某一字段" in str(data.values()) else "F"has_2 = "T" if "某一字段" in str(data.values()) else "F"excel_file_path = "目录/json_check_result.xlsx"print(f"检查结果已保存到 {excel_file_path}")sheet.title = "JSON检查结果"sheet['B1'] = "某一字段检查"sheet['C1'] = "某一字段检查"原创 2024-03-12 08:37:28 · 231 阅读 · 1 评论 -
一个目录下的json文件名,用json的某一键值替换。
with open(file_path, 'rb') as file: #我使用"rb",是因为我是二进制json。key_value = data.get("键名") # 替换键值为你需要的字段名。file.close() # 关闭文件。# 重命名 JSON 文件。原创 2024-03-12 14:00:59 · 378 阅读 · 1 评论 -
python实现最简单的最小二乘法
x = np.array([2, 2.3, 3.1, 4.8, 5.6]).reshape(-1, 1) # 自变量。y = np.array([2.4, 3.4, 4.5, 6.4, 7.5]) # 因变量。print("斜率 (beta_1):", beta_1)print("截距 (beta_0):", beta_0)# 获取回归系数和截距。# 打印回归系数和截距。# 创建线性回归模型。原创 2023-12-02 16:02:26 · 403 阅读 · 1 评论 -
给文件一列内容添加字符
这段代码在文件的第一列数据添加了字符“>",并将文件内容保存在了txt文件中,注意,这段代码默认文件内容从第二行开始。有时候,我们需要给文件的一列数据或一行数据统一添加一些字符。# 在第一列的每个单元格中添加">"# 将结果写入txt文件。# 读取Excel文件。原创 2023-07-20 17:17:35 · 210 阅读 · 0 评论 -
txt转fasta
fasta实际上也是一种文本文件。将txt的后缀该为fasta就可以更改。但是我们有时候会遇到一种情况,那就是描述和序列在同一行,我们需要将描述和序列分开。少量的话可以手动操作,但成千上万就需要流程了。description = columns[0] # 描述行。sequence = columns[1] # 序列行。原创 2023-07-20 17:11:03 · 4960 阅读 · 0 评论 -
总表中包含了所有信息,但我们有一个分表,只包含一列名称。比对一列名称,得到我们所需要的分表名称的其它信息。
merged_df.to_excel('分表全信息.xlsx', index=False)df1 = pd.read_excel('分表.xlsx')df2 = pd.read_excel('总表.xlsx')print('未找到指定列名')col_name = '列名'#读取两个 Excel 文件。原创 2023-06-28 15:05:46 · 110 阅读 · 1 评论 -
python将一个xlsx文件按一行一个文件拆分成多个文件,并以其中一列数据作为文件名,第一行作为文件目录。
filename = row['列名']# 创建新的DataFrame,只包含当前行。# 拆分每一行为一个Excel文件。# 保存为新的Excel文件。# 读取Excel文件。# 获取第一行作为目录。原创 2023-06-28 15:27:09 · 456 阅读 · 1 评论 -
读取一个txt文件,第五列,第六列按一定条件筛选数据。
f.writelines(result) # 写入筛选结果```f.write(lines[0]) # 写入第一行。# 筛选第五列和第六列数值>=90的内。# 将结果保存到txt文件。原创 2023-06-16 15:15:01 · 130 阅读 · 1 评论 -
python遍历JSON文件
python遍历JSON文件原创 2023-05-12 16:42:57 · 1127 阅读 · 1 评论 -
python 批量转化execl 文件为json
path_list = os.listdir("path") #这个可获得目录下所有文件的名称。#这段代码在json文件命名上有些缺陷,不能去除excel文件后缀。# 读取Excel文件。原创 2023-06-12 15:22:45 · 310 阅读 · 1 评论 -
合并一个目录下的所有txt文件
import os# 打开输出文件。原创 2023-06-16 15:25:12 · 183 阅读 · 1 评论 -
遍历JSON文件提取想要的内容
data.items()` 是 Python 字典(dictionary)对象的一个方法,它返回一个包含字典中所有键值对的元组列表。每个元组包含两个元素,第一个元素是键,第二个元素是对应的值。这个方法可以用于遍历字典中的所有键值对."可以使用递归函数来遍历多层级json文件内容,提取需要的内容。下面是一个示例代码:"# 提取所有key为'name'的值。# 读取json文件。原创 2023-05-15 10:32:13 · 499 阅读 · 0 评论 -
python遍历json,提取两个对应的数据。
假设我们有一个多层级的json文件,我们需要提取出两个键对应的值。例如,我们有ID1,但是这个ID1不方便我们操作json,我们想找到与ID1相对应的ID2,这时候去操作json会大大降低工作量。这时,我们就得到了ID1和对应的id2。但是它输出的是“none type",不能对其进行其它操作,就是不能将结果保存在文件中。请问大佬们有没有解决方法?"""可以使用递归函数来遍历多层json文件内容,提取需要的内容。下面是一个示例代码:"""# 提取key为'name'的值。# 读取json文件。原创 2023-05-15 16:34:51 · 691 阅读 · 0 评论 -
python读取excel文件,将文件中得一列数据,以特定分隔符分开,并去掉重复。
如图,我们有一个文件,一列数据中有多个数据项组合,每个数据项用;分割,现在我们想知道筛选出有多少个数据项。'.join(df["列名"].astype(str).unique())为分隔符读为一个字符串。# 读取Excel文件。原创 2023-05-18 11:54:11 · 562 阅读 · 1 评论 -
一个目录下的所有tsv文件转txt,添加一列以文件名为数据项的数据列,以标明数据来自哪个样本。
列出目录下所有的tsv文件。# 遍历每个tsv文件。原创 2023-06-16 15:20:23 · 441 阅读 · 1 评论 -
python 将excel多重表制成多层级json文件
"""这段代码首先使用pandas库读取Excel文件中的sheet1和sheet2。然后,使用`to_dict()`方法将sheet1转换为字典,使用`values.tolist()`方法将sheet2转换为列表,可以将两个表都转化为字典或列表形式。接下来,将这两个数据结构组合成一个字典,并将其转换为json格式并写入文件中。"""假设第一个表的名称为sheet1,第二个表的名称为sheet2,以下是将两个表制成多层级json文件的Python代码:"""# 将字典转换为json格式并写入文件。原创 2023-05-16 10:24:07 · 442 阅读 · 0 评论 -
读取一个目录下的所有xlsx文件,并删除第二列
循环遍历所有xlsx文件。#读取所有xlsx文件。原创 2023-06-28 13:57:12 · 113 阅读 · 1 评论 -
python:xlsx文件,一列数据去重,第二列数据合并起来。
df = df.groupby('列名1')['列名2'].apply(lambda x: ','.join(x)).reset_index()df["列名1"] = df["列名1"].astype(str) #转成字符串。df["列名2”] = df["列名2"].astype(str)这样我们就对第一列数据去重,第二列数据合并。第二列数据以,隔开。第一列数据我们需要去重,第二列数据需要合并。小明 12岁,地球人,喜欢唱跳rap篮球。有时候,我们需要完成一下工作,例如数据。小明 喜欢唱跳rap篮球。原创 2023-06-28 14:13:24 · 396 阅读 · 2 评论