gpt4 book ai didi

python - 在 Pandas 数据框中将某些行向左移动

转载 作者:搜寻专家 更新时间:2023-10-30 20:34:18 24 4
gpt4 key购买 nike

我有一些体育数据的 Pandas 数据库。这些列是姓名、年龄、出生城市、出生国家、新秀、体重和问题。对于美国玩家,原始数据的出生城市为“City,State”,因此当我使用逗号分隔符时,结果是两个变量。所以现在所有的美国玩家都转移了,我需要做一个“问题”变量来解释多余的部分。

我怎样才能在数千次观察中只将美国人移到左边?谢谢!

我有什么(请原谅表格格式):

Name Age BirthCity BirthCountry Rookie Weight Problem

Frank 32 Seattle WA USA N 200
Jake 24 Geneva Switzerland Y 210

期望:

Name Age BirthCity BirthCountry Rookie Weight

Frank 32 Seattle USA N 200
Jake 24 Geneva Switzerland Y 210

最佳答案

一种方法是先有选择地删除第 3 列(记住 Python 首先计数 0),同时添加一个额外的列 NaN。然后删除最后的 Problem 系列。

# df, start with this dataframe
#
# Name Age BirthCity BirthCountry Rookie Weight Problem
# 0 Frank 32 Seattle WA USA N 200.0
# 1 Jake 24 Geneva Switzerland Y 210 NaN

def shifter(row):
return np.hstack((np.delete(np.array(row), [3]), [np.nan]))

mask = df['Rookie'] == 'USA'
df.loc[mask, :] = df.loc[mask, :].apply(shifter, axis=1)

df = df.drop(['Problem'], axis=1)

# Name Age BirthCity BirthCountry Rookie Weight
# 0 Frank 32 Seattle USA N 200
# 1 Jake 24 Geneva Switzerland Y 210

关于python - 在 Pandas 数据框中将某些行向左移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48844322/

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