Если вы пришли сюда, чтобы выбрать строки из фрейма данных, включив те, чье значение столбца НЕ является ни одним из списка значений, вот как перевернуть ответ unutbu для списка значений выше:
df.loc[~df['column_name'].isin(some_values)]
(Чтобы не включать одно значение, конечно, вы просто используете обычный оператор не равно, !=
.)
Пример:
import pandas as pd
df = pd.DataFrame({'A': 'foo bar foo bar foo bar foo foo'.split(),
'B': 'one one two three two two one three'.split()})
print(df)
дает нам
A B
0 foo one
1 bar one
2 foo two
3 bar three
4 foo two
5 bar two
6 foo one
7 foo three
Подмножество только для тех строк, которые ARE NOT one
или three
в столбце B
:
df.loc[~df['B'].isin(['one', 'three'])]
дает
A B
2 foo two
4 foo two
5 bar two
Вы можете использовать функцию round () или roundup () или rounddown () в зависимости от того, что вам нужно.
Для приведенного вами примера будет работать rounddown ():
=rounddown(A1*0.001,0)
, если предположить, что число находится в ячейке A1.
Roundup () даст результат 24 из 23200 ...
В B1 введите:
=INT(A1*0.001)
и скопируйте вниз:
Чтобы изменить значения на месте , попробуйте этот макрос VBA:
Sub FixKolumnA()
Dim i As Long
For i = 1 To 4
Cells(i, 1).Value = Int(Cells(i, 1).Value * 0.001)
Next i
End Sub