Данные столбца Excel умножаются на постоянное число и; Результат должен быть натуральным числом

Если вы пришли сюда, чтобы выбрать строки из фрейма данных, включив те, чье значение столбца НЕ является ни одним из списка значений, вот как перевернуть ответ 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
-1
задан Gary's Student 15 January 2019 в 14:48
поделиться

2 ответа

Вы можете использовать функцию round () или roundup () или rounddown () в зависимости от того, что вам нужно.

Для приведенного вами примера будет работать rounddown ():

=rounddown(A1*0.001,0)

, если предположить, что число находится в ячейке A1.

Roundup () даст результат 24 из 23200 ...

0
ответ дан Solar Mike 15 January 2019 в 14:48
поделиться

В B1 введите:

=INT(A1*0.001)

и скопируйте вниз:

enter image description here

Чтобы изменить значения на месте , попробуйте этот макрос 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
0
ответ дан Gary's Student 15 January 2019 в 14:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: