gpt4 book ai didi

python - 根据其他 Dataframe 列值更新 Dataframe 列值

转载 作者:行者123 更新时间:2023-12-01 07:47:55 25 4
gpt4 key购买 nike

我有一个 pandas Dataframe,它有几列。我想根据协议(protocol)中的值从信息列中获取前 3 个元素。

例如:如果协议(protocol)是 TCP,我想要信息中的前 3 个元素。

使用下面的代码我可以分隔操作所需的列。但我不知道如何使下一段代码适应这一点。

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'

关于python - 根据其他 Dataframe 列值更新 Dataframe 列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56359050/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com