#python-3.x #dataframe
#python-3.x #фрейм данных
Вопрос:
Предположим, у меня есть следующий фрейм данных
import pandas as pd
df = pd.DataFrame( {3: {0: 'Total shareholders’ equity, beginning balances', 1: 'Total shareholders’ equity, beginning balances', 2: 'Total shareholders’ equity, beginning balances', 3: '
Как вы можете видеть, что индексы 4, 10, 16 являются числами. Как я могу извлечь эти числа автоматически.
Примечание: как вы можете видеть, этот столбец содержит строки, а также числа, но эти числа считываются как строки.
Ответ №1:
Преобразуйте его в числовое значение, которое превратит недопустимые целые числа / числа с плавающей запятой в NaN
. затем отбросьте NaN
и получите индексы
pd.to_numeric(df['col'], errors='coerce').dropna().index
Out:
Int64Index([4, 10, 16], dtype='int64')
Комментарии:
1. Он также преобразует значения, которые являются a) float и b) bool, что может не быть стимулом OP
Ответ №2:
Вы можете создать маску, чтобы проверить, являются ли они числовыми:
df[df[3].str.isnumeric()]
приводит к:
3
4 90488
10 107147
16 134047
, 4: '90488', 9: 'Как вы можете видеть, что индексы 4, 10, 16 являются числами. Как я могу извлечь эти числа автоматически.
Примечание: как вы можете видеть, этот столбец содержит строки, а также числа, но эти числа считываются как строки.
Ответ №1:
Преобразуйте его в числовое значение, которое превратит недопустимые целые числа / числа с плавающей запятой в NaN
. затем отбросьте NaN
и получите индексы
Out:
Комментарии:
1. Он также преобразует значения, которые являются a) float и b) bool, что может не быть стимулом OP
Ответ №2:
Вы можете создать маску, чтобы проверить, являются ли они числовыми:
приводит к:
, 10: '107147', 15: 'Как вы можете видеть, что индексы 4, 10, 16 являются числами. Как я могу извлечь эти числа автоматически.
Примечание: как вы можете видеть, этот столбец содержит строки, а также числа, но эти числа считываются как строки.
Ответ №1:
Преобразуйте его в числовое значение, которое превратит недопустимые целые числа / числа с плавающей запятой в NaN
. затем отбросьте NaN
и получите индексы
Out:
Комментарии:
1. Он также преобразует значения, которые являются a) float и b) bool, что может не быть стимулом OP
Ответ №2:
Вы можете создать маску, чтобы проверить, являются ли они числовыми:
приводит к:
, 16: '134047'}} )
Как вы можете видеть, что индексы 4, 10, 16 являются числами. Как я могу извлечь эти числа автоматически.
Примечание: как вы можете видеть, этот столбец содержит строки, а также числа, но эти числа считываются как строки.
Ответ №1:
Преобразуйте его в числовое значение, которое превратит недопустимые целые числа / числа с плавающей запятой в NaN
. затем отбросьте NaN
и получите индексы
Out:
Комментарии:
1. Он также преобразует значения, которые являются a) float и b) bool, что может не быть стимулом OP
Ответ №2:
Вы можете создать маску, чтобы проверить, являются ли они числовыми:
приводит к: