[img]https://i.sstatic .net/tCl03NZy.jpg[/img]
У меня есть файл CSV, содержащий 100 столбцов. Из них я хочу проверить наличие пустых значений в следующих столбцах:
bank and trade code
book value
business unit
COE value
corporate product id
counterparty legal entity
currency
cusip
face amount
legal entity
origination date
QRM book value
QRM face value
Если какой-либо из этих столбцов содержит пустые значения, я хочу выделить конкретный столбец в операторе печати. Однако для столбца «Дата происхождения» есть особое условие: если он содержит пустые значения, но соответствующий столбец «Исходная система» имеет значения типа «Корректировка после закрытия» или « GL-SDI разрыв", эти пустые значения допустимы и не должны помечаться. Я попробовал код, но он не работает должным образом.
Вопрос 2. Как проверить, есть ли в необработанных данных экспоненциальная запись?

Я также хочу проверить, есть ли какие-либо значения в следующих столбцах используются научные обозначения:
book value
face amount
QRM book value
QRM face amount
Если какой-либо из этих столбцов содержит значения в экспоненциальном представлении, я хочу выделить это в операторе печати, написав приведенный ниже код. Но он печатает имена всех четырех столбцов, когда я намеренно меняю первое значение ячейки на научное в столбце «book_value».
Что я пробовал
Чтобы решить первый вопрос, я попробовал этот код:
import pandas as pd
# Read the CSV file
df = pd.read_csv('c:/user/file.csv')
# Columns to check for blank values
columns_to_check = ['bank', 'trade code', 'book value', 'business unit', 'COE value', 'corporate product id',
'counterparty legal entity', 'currency', 'qsip', 'face amount', 'legal entity',
'origination date', 'qrm book value', 'qrm face value', 'source system']
# Function to check for blank values and print column names with blanks
def check_for_blank_values(df):
for col in columns_to_check:
blank_values = df[df[col].isna()]
if not blank_values.empty and not (col == 'origination date' and ~blank_values['source system'].isin(['post-close adjustment', 'GL-SDI gap']).all()):
print(f"Column '{col}' has blank values.")
# Check for blank values
check_for_blank_values(df)
Для второго вопроса я попробовал следующее:
import pandas as pd
# Read the CSV file
df = pd.read_csv('c:/user/file.csv')
# Function to check if any value in the column is in scientific notation
def check_scientific_values(df, column_names):
for column_name in column_names:
df[column_name] = pd.to_numeric(df[column_name], errors='coerce')
if df[column_name].dtype == 'float64':
print(f"The values in column '{column_name}' are in scientific notation.")
# Columns to check
columns_to_check = ['book value', 'face amount', 'QRM face amount', 'QRM book value']
check_scientific_values(df, columns_to_check)`
Подробнее здесь: https://stackoverflow.com/questions/785 ... ons-in-pan