Я искал дни, не найдя ответа ... Я пытаюсь вырезать копию фрейма данных на основе условного имени переменной столбца., используя имя переменной для имени столбца в pandas
вот код:
import pandas as pd
d = {'a':[1, 2, 3, 22, None],
'b':[4, None, 6, None, 33],
'c':[7, 8, None, None, None],
'd':[10, 110, 12, 250, 35],
'e':[None, None, None, 26, None],
'f':[16, None, 20, 39, 62],
'g':[19, 20, 21, None, None]}
df = pd.DataFrame(d)
print(df)
print('\n')
df2 = pd.DataFrame()
df2 ['count'] = df.count()
df2 = df2.sort_values(by='count', ascending = False)
print(df2)
print('\n')
first_var = df2.index[0]
print(first_var)
print('\n')
df3 = pd.DataFrame()
df3 = df.copy()
# this line gives the entire df, not d values under 100
df3[df3[first_var] < 100]
# this line crashes
# df3[df.first_var < 100]
print(df3)
это выход:
a b c d e f g
0 1 4 7 10 NaN 16 19
1 2 NaN 8 110 NaN NaN 20
2 3 6 NaN 12 NaN 20 21
3 22 NaN NaN 250 26 39 NaN
4 NaN 33 NaN 35 NaN 62 NaN
count
d 5
a 4
f 4
b 3
g 3
c 2
e 1
d
a b c d e f g
0 1 4 7 10 NaN 16 19
1 2 NaN 8 110 NaN NaN 20
2 3 6 NaN 12 NaN 20 21
3 22 NaN NaN 250 26 39 NaN
4 NaN 33 NaN 35 NaN 62 NaN
********************** *******************
, что я действительно ищу этот выход:
a b c d e f g
0 1 4 7 10 NaN 16 19
2 3 6 NaN 12 NaN 20 21
4 NaN 33 NaN 35 NaN 62 NaN
любая помощь очень ценится. благодаря
но почему ??? Я не понимаю ... – Kartik
Добавление информации, OP - новичок ... – Merlin