如何解析csv文件中的一行并根据某些条件将其存储在不同的 Dataframe 中

1mrurvl1  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(86)

我正在解析一个csv文件(charges.csv),其中包含一些无效条目。我想读取csv文件,并在一个 Dataframe 中保留有效条目(收费),在其他 Dataframe 中保留无效条目(无效)。我怎么能做到呢?
到目前为止我还没有得到任何想法,想听听一些建议。

ht4b089n

ht4b089n1#

如果您能提到用于确定有效或无效行的确切条件,那就更好了。这样,我就可以提供更深入的解释。但是,我可以给予你一个例子来帮助你更好地理解这个概念。让我们假设你有一个8行3列的CSV文件。如果任何一行至少有一个条目的值为NaN,则将其视为无效;否则有效。考虑到这种情况,您可以使用提供的代码来分离 Dataframe 。您只需根据所需条件修改条件。

test.csv

name,age,amount
John Doe,30,1000
Jane Smith,25,750
Mike Johnson,40,1200
Anna Lee,35,NaN
Tom Brown,40,900
David Lee,34,1500
Sarah Williams,28,NaN
Alex Turner,NaN,800

字符串

验证码:

import pandas as pd

df = pd.read_csv('/content/test.csv')

def is_valid(row):
    # Assuming the row is valid if there are no NaN values in any column
    return not row.isnull().any()

valid_mask = df.apply(is_valid, axis=1)
valid_df = df[valid_mask]
invalid_df = df[~valid_mask]

print("Valid Entries:")
print(valid_df)

print("\nInvalid Entries:")
print(invalid_df)

输出:

Valid Entries:
           name   age  amount
0      John Doe  30.0  1000.0
1    Jane Smith  25.0   750.0
2  Mike Johnson  40.0  1200.0
4     Tom Brown  40.0   900.0
5     David Lee  34.0  1500.0

Invalid Entries:
             name   age  amount
3        Anna Lee  35.0     NaN
6  Sarah Williams  28.0     NaN
7     Alex Turner   NaN   800.0

相关问题