function - 创建返回两个文件的函数
问题描述
我有这个数据框:
data = {'X_1': [1, 10, 2, 5, 0], 'X_2': [11, 30, 16, 31, 31], 'X_3': ['Yes', 'No', 'No', 'Yes', 'No']}
df = pd.DataFrame(data)
print(df)
X_1 X_2 X_3
0 1 11 Yes
1 10 30 No
2 2 16 No
3 5 31 Yes
4 0 31 No
我想创建一个函数,它接收数据帧作为参数并返回两个 xlsx 文件。一个具有变量 X_3 的值等于“否”的行,另一个具有其中 X_3 的值等于“是”的行。
我试图这样做,但我不知道如何创建返回我需要的两个文件的函数。
def preprocess (df):
for i in X_3:
if df.loc[data['X_3'] != 'Yes']:
return data, data_2
我期望返回的 xlsx 文件是这样的:
xlsx 文件 #1:
X_1 X_2 X_3
1 10 30 No
2 2 16 No
4 0 31 No
xlsx 文件 #2:
X_1 X_2 X_3
0 1 11 Yes
3 5 31 Yes
谢谢!
解决方案
使用此页面的任何一种好方法,那里有 3 种非常好的方法。:
import pandas as pd
data = {'X_1': [1, 10, 2, 5, 0], 'X_2': [11, 30, 16, 31, 31], 'X_3': ['Yes', 'No', 'No', 'Yes', 'No']}
df = pd.DataFrame(data)
#print(df)
def mysplit (a):
df1 = df[df['X_3'] == 'Yes']
df2 = df[df['X_3'] == 'No']
print(df1,file=open("file_a.xls", "a", encoding="utf-8"))
print(df2,file=open("file_b.xls", "a", encoding="utf-8"))
return
mysplit(df)
我知道你说的是 xlsx,但原理也适用于 excel writer。
推荐阅读
- c# - 使用 ASP.NET Core 从任何网站管理多个帐户
- mongodb - 如何正确合并mongoBD的集合?
- visual-studio-code - 如何更改命令调色板中匹配单词的颜色?
- android-studio - 布局已经受到约束,但文本仍未显示
- excel - 如何转置脚本字典键并将“05”和“5”保留为两个不同的值?
- postgresql - 查询实现一些逻辑的postgresql数据库记录
- jupyter-notebook - Kubernetes 入口背后的 Jupyter 集线器
- javascript - 为什么我的 IIS 上的 nodejs 应用程序因为 os.userInfo() 而崩溃?
- php - 如何从在 url 中传递的 id 中获取名称,并将其作为隐藏值传递给 laravel 刀片中的另一个视图中的另一个表单?
- python - python discord bot,discord.ext.commands.errors.MissingRequiredArgument:数字是缺少的必需参数