python - Pandas 函数 to.csv 仅写入布尔值,但不写入数据框
问题描述
我正在尝试使用 Pandas 的函数将过滤后的 DataFrame 打印到新文件中
to.csv
。这是我的代码的一部分:
df_1_S = pd.read_csv("S_YN00.csv",sep="\t", names=['ID1',"ID2","dN","dS","t","Label_ID1","Label_ID2","Group"])
S_greather_than = (df_1_S["dN"] < 6) & (df_1_S["dS"] < 6) & (df_1_S["t"] < 6)
df_1_S.loc[S_greather_than]
代码的前一部分打印以下过滤后的 DF(值仅 <= 6):
ID1 ID2 dN ... Label_ID1 Label_ID2 Group
0 QJY77946 NP_073551 0.0241 ... 229E-CoV 229E-CoV Intra
1 QJY77954 NP_073551 0.0119 ... 229E-CoV 229E-CoV Intra
2 QJY77954 QJY77946 0.0119 ... 229E-CoV 229E-CoV Intra
3 QJY77962 NP_073551 0.0119 ... 229E-CoV 229E-CoV Intra
4 QJY77962 QJY77946 0.0119 ... 229E-CoV 229E-CoV Intra
... ... ... ... ... ... ...
252946 QKV43781 QKV43751 0.0118 ... PEDV-CoV PEDV-CoV Intra
252947 QKV43781 QKV43757 0.0118 ... PEDV-CoV PEDV-CoV Intra
252948 QKV43781 QKV43763 0.0059 ... PEDV-CoV PEDV-CoV Intra
252949 QKV43781 QKV43769 0.0059 ... PEDV-CoV PEDV-CoV Intra
252950 QKV43781 QKV43775 -0.0000 ... PEDV-CoV PEDV-CoV Intra
一切都很好,但是当我尝试用这一行在新文件中打印它时:
S_greather_than.to_csv("C:/Filter_S_YN00.tsv")
在新文件中只打印布尔值:
0,True
1,True
2,True
3,True
4,True
5,True
6,True
7,False
8,True
9,True
10,True
如何解决?我想用过滤后的值打印新的 DF。欢迎任何想法或帮助谢谢!
解决方案
而不是你的命令
S_greather_than.to_csv("C:/Filter_S_YN00.tsv")
采用
df_1_S.loc[S_greather_than].to_csv("C:/Filter_S_YN00.tsv")
说明:
你只写了.tsv
你的过滤器,而不是它的数据框过滤器。
推荐阅读
- python-3.x - 如何检测用户是否加入任何语音频道?
- flutter - 当我运行颤振应用程序显示警告:映射新的 ns http://schemas.android.co
- node.js - 代理 https 到 http(示例)不起作用 - node-http-proxy
- mysql - SQL sort by desc 不适用于 group by
- html - 将字符串与 jinja 变量连接起来
- python - Hangman Python,显示不同的包含用户输入的所有索引
- java - android ndk - 将 jchar* 转换为 char*
- c++ - C++17 for_each 并行
- android - 如何在 Flutter 中使用 FAB 获得底部导航功能
- java - 循环失败时打印消息