weixin_46031891 2023-12-21 15:44
浏览 16
已结题

pycharm的csv文件只能看到两列

问题遇到的现象和发生背景

#使用pandas和numpy提取了部分数据集,新的数据集有三列,但是在pycharm中的excelreader中打开只能显示两列,只有当用excel打开时,才能显示出第三列

遇到的现象和发生背景,请写出第一个错误信息

没有报错信息,就是实现了但是显示不出来

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
import pandas as pd
import numpy as np

file_path = "my_data.csv"

# 从文件路径(file_path)读取数据,数据以逗号(",")分隔
df = pd.read_csv(file_path, error_bad_lines=False, nrows=200000)



# 选择需要处理的列
columns_to_check = ["Ki (nM)", "IC50 (nM)", "Kd (nM)", "EC50 (nM)"]

# 遍历每一列,将包含大于号或小于号的行转换为 NaN
for column in columns_to_check:
    df[column] = pd.to_numeric(df[column], errors='coerce')

# 删除包含大于号或小于号,并且这四列都是空格的行
for column in columns_to_check:
    df = df[~df[column].astype(str).str.contains('[<>]')]

# 删除这四列都是 NaN 的行
df = df.dropna(subset=columns_to_check, how='all')

# 将结果保存到新文件
df.to_csv("cleaned_data.tsv", index=False)

N = 100  # 你想要随机选择的行数
random_indices = np.random.choice(df.index, size=min(N, len(df)), replace=False)
selected_data = df.loc[random_indices]

# 选择需要的列
selected_columns = ["Ligand SMILES", "BindingDB Target Chain Sequence", "Ki (nM)", "IC50 (nM)", "Kd (nM)", "EC50 (nM)"]
selected_columns2 = ["Ligand SMILES", "BindingDB Target Chain Sequence"]
selected_data["SMILES"] = selected_data["Ligand SMILES"]
selected_data["Target Sequence"] = selected_data["BindingDB Target Chain Sequence"]


# 根据条件生成0和1的标签列
selected_data["Label"] = (
    (selected_data["Ki (nM)"] < 100) |
    (selected_data["IC50 (nM)"] < 500) |
    (selected_data["Kd (nM)"] < 200) |
    (selected_data["EC50 (nM)"] < 500)
).astype(int)

# 将结果保存到新文件

result_df = pd.concat([selected_data["SMILES"],selected_data["Target Sequence"],selected_data["Label"] ], axis=1)
result_df.to_csv('clean_data.csv', index=True)

运行结果及详细报错内容

结果就是生成了clean_data.csv文件,但是没有Label这一列,具体来说是在excelreader中看不到,但是在excel中就能看到

img

img

我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%

期初以为是哪里的参数写的不对,因为我对python了解的也不是很多,用debug调试以后发现result_df确实有三列,包含了Label,但是就是看不到

我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”

img

能够像这样显示数据的标签就好,谢谢

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 12月29日
    • 创建了问题 12月21日