Anonymous
Регулярное выражение для na_values с использованием pandas.read_csv
Сообщение
Anonymous » 02 дек 2024, 19:21
Я хочу прочитать такой файл, используя pandas.read_csv
Код: Выделить всё
1891, 91920, 7, 628,249, 59,51.0, 0.026, 0.028, NaN, NaN, NaN, NaN, NaN, 0.156, 0.071, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 21,43.8, 0.005, 0.619, NaN,45.6, 0.048, 0.053, NaN, NaN, NaN, NaN, NaN, -0.180, 0.088, 20, 0.012, 1.107, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN
1891, 91920, 16, 628,135, 22,41.2, 0.093, 0.087, NaN, NaN, NaN, NaN, NaN, 0.416, 0.212, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 20,23.3, 0.021, 2.023, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN
1891, 91920, 3, 628, 28, 39,47.0, 0.041, 0.044, NaN, NaN, NaN, NaN, NaN, -0.006, 0.064, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 21,37.5, 0.009, 0.964, NaN,45.3, 0.054, 0.055, NaN, NaN, NaN, NaN, NaN, -0.838, 0.228, 20, 0.013, 1.193, NaN,51.8, 0.025, 0.026, NaN, NaN, NaN, NaN, NaN, -0.021, 0.054, 21, 0.005, 0.540, NaN, NaN, NaN, NaN
1891, 91920, 6, 628,276, 20,40.0, 0.118, 0.101, NaN, NaN, NaN, NaN, NaN, -0.767, 0.558, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 20,26.7, 0.032, 2.982, NaN,41.0, 0.088, 0.089, NaN, NaN, NaN, NaN, NaN, -0.141, 0.233, 20, 0.024, 2.074, NaN,46.2, 0.053, 0.049, NaN, NaN, NaN, NaN, NaN, 0.080, 0.034, 21, 0.012, 1.187, NaN, NaN, NaN, NaN
У меня проблема с чтением, потому что значения NaN. Если файл был CSV-файлом (разделенный запятой), у меня нет проблем, но в нем есть пробелы. Когда я прочитал это, используя:
Код: Выделить всё
df = pd.read_csv(file,index_col=None, header=None)
Очевидно, что столбцы с NaN читаются как строки из-за пробелов. Моя проблема была бы простой, если бы пространства имели одинаковую размерность. Я мог бы использовать:
Код: Выделить всё
df = pd.read_csv(file,index_col=None, header=None, na_values = " NaN")
и проблема решена, но есть столбцы с разными пробелами. У некоторых из них перед NaN есть 4 пробела, у других 6 и так далее.
Итак, мой вопрос: существует ли регулярное выражение для указания значений na_values что-то вроде na_values = "\s+ NaN"?
Подробнее здесь:
https://stackoverflow.com/questions/404 ... s-read-csv
1733156485
Anonymous
Я хочу прочитать такой файл, используя pandas.read_csv [code]1891, 91920, 7, 628,249, 59,51.0, 0.026, 0.028, NaN, NaN, NaN, NaN, NaN, 0.156, 0.071, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 21,43.8, 0.005, 0.619, NaN,45.6, 0.048, 0.053, NaN, NaN, NaN, NaN, NaN, -0.180, 0.088, 20, 0.012, 1.107, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN 1891, 91920, 16, 628,135, 22,41.2, 0.093, 0.087, NaN, NaN, NaN, NaN, NaN, 0.416, 0.212, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 20,23.3, 0.021, 2.023, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN 1891, 91920, 3, 628, 28, 39,47.0, 0.041, 0.044, NaN, NaN, NaN, NaN, NaN, -0.006, 0.064, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 21,37.5, 0.009, 0.964, NaN,45.3, 0.054, 0.055, NaN, NaN, NaN, NaN, NaN, -0.838, 0.228, 20, 0.013, 1.193, NaN,51.8, 0.025, 0.026, NaN, NaN, NaN, NaN, NaN, -0.021, 0.054, 21, 0.005, 0.540, NaN, NaN, NaN, NaN 1891, 91920, 6, 628,276, 20,40.0, 0.118, 0.101, NaN, NaN, NaN, NaN, NaN, -0.767, 0.558, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, 21,500, 20,26.7, 0.032, 2.982, NaN,41.0, 0.088, 0.089, NaN, NaN, NaN, NaN, NaN, -0.141, 0.233, 20, 0.024, 2.074, NaN,46.2, 0.053, 0.049, NaN, NaN, NaN, NaN, NaN, 0.080, 0.034, 21, 0.012, 1.187, NaN, NaN, NaN, NaN [/code] У меня проблема с чтением, потому что значения NaN. Если файл был CSV-файлом (разделенный запятой), у меня нет проблем, но в нем есть пробелы. Когда я прочитал это, используя: [code]df = pd.read_csv(file,index_col=None, header=None) [/code] Очевидно, что столбцы с NaN читаются как строки из-за пробелов. Моя проблема была бы простой, если бы пространства имели одинаковую размерность. Я мог бы использовать: [code]df = pd.read_csv(file,index_col=None, header=None, na_values = " NaN") [/code] и проблема решена, но есть столбцы с разными пробелами. У некоторых из них перед NaN есть 4 пробела, у других 6 и так далее. Итак, мой вопрос: существует ли регулярное выражение для указания значений na_values что-то вроде na_values = "\s+ NaN"? Подробнее здесь: [url]https://stackoverflow.com/questions/40493759/regular-expression-for-na-values-using-pandas-read-csv[/url]