如何在R中基于最后一行列值对CSV文件进行子集划分?
按最后一行值拆分DataFrame的解决方案
很容易用Pandas实现你的需求,下面是具体步骤和代码:
1. 导入库并读取CSV文件
先确保你已经安装了Pandas,然后读取目标文件:
import pandas as pd # 读取mnist.csv文件,确保文件路径正确 df = pd.read_csv('mnist.csv')
2. 获取最后一行的列值
我们需要用最后一行的数据作为筛选依据:
# 提取DataFrame的最后一行 last_row = df.iloc[-1]
3. 生成仅含最后一行值为0的列的DataFrame
通过布尔索引筛选出符合条件的列,同时保留所有行:
# 筛选最后一行值为0的列 df_0 = df.loc[:, last_row == 0]
4. 生成仅含最后一行值为1的列的DataFrame
用同样的方法筛选值为1的列:
# 筛选最后一行值为1的列 df_1 = df.loc[:, last_row == 1]
验证结果
你可以打印两个新DataFrame的维度来确认结果是否符合预期:
print(f"df_0的维度:{df_0.shape}") print(f"df_1的维度:{df_1.shape}")
这样就得到了你需要的两个DataFrame——df_0包含所有行和最后一行值为0的列,df_1包含所有行和最后一行值为1的列。
内容的提问来源于stack exchange,提问作者Liondancer
相关产品推荐
相关产品推荐

