У меня есть pandas Dataframe с парой столбцов. Я хочу получить первые 3 элемента из столбца информации на основе значения в протоколе.
Например: мне нужны первые 3 элемента в информации, если протокол TCP.
Используя приведенный ниже код, я могу разделить столбцы, необходимые для моей работы. Но я понятия не имею, как адаптировать следующий фрагмент кода к этому.
chunk[['Protocol', 'Information']] = chunk[['Protocol', 'Information']]
Обновлено:
Я хочу обновить значения. Не разделять их.
Вы можете использовать что-то вроде этого:
import pandas
data = data = {'Name':['first', 'second', 'third', 'fourth'],
'Age':[27, 27, 22, 32],
'Address':['New York', 'ABC', 'XYZ', 'Nowhere'],
'Qualification':['Msc', 'MA', 'MA', 'Phd']}
# Make a dataframe object
df = pandas.DataFrame(data)
# Your condition
# for example we want to get the rows with `Qualitication=='MA'
is_MA_qualified = df['Qualification'] == 'MA'
# Now to filter your data
MA_qualified = df[is_MA_qualified]
# You can use `head(n)` to get first three rows
first_three_MA_qualified = MA_qualified.head(3)
# And finally, to get any desired columns
first_three_MA_qualified[['Age','Address']]
ОБНОВИТЬ: чтобы обновить ячейки, вы можете перебирать строки, а затем изменять значения ячеек, которые удовлетворяют условию:
...
for index, row in df.iterrows():
if row['Age'] >= 18:
df.at[index, 'Qualification'] = 'Verified'
Спасибо. Но не совсем то, что я ищу. Я не хочу разделять данные, я хочу их обновить. Может быть, мой вопрос был недостаточно точен.
Мне удалось обновить значения на основе заданного значения:
chunk.loc[chunk['Protocol'] == tcp, 'Information'] = 5
Но сейчас я просто меняю значение на число 5. Я бы предпочел использовать лямбда-выражение или функцию, чтобы получить первые три элемента и сохранить только эти значения.
Добро пожаловать в StackOverflow. Пожалуйста, найдите время, чтобы прочитать этот пост на как предоставить отличный пример панд, а также как предоставить минимальный, полный и проверяемый пример и соответствующим образом изменить свой вопрос. Эти советы по как задать хороший вопрос также могут быть полезны.