【发布时间】:2020-11-09 07:27:12
【问题描述】:
我有一个超过 10000 行的 csv 文件,现在我想创建一个新列来显示父子之间的依赖关系。基于上述规则和政策,存在如下:
- 确定并显示数据与哪个家庭相关的唯一代码团队。
- 如果 Position 是 C ,则 Parent 字段必须满足其相对位置。李>
- 如果 Position 是 PF,则 Child 字段必须用它的位置来满足,但如果有其他位置存在(C 和 PF 除外)它必须满足,因为它也是相对位置。
- 存在任何其他职位,孩子必须履行。
CSV 中的现有数据:
Team Position
Atlanta Hawks C
Atlanta Hawks PF
Atlanta Hawks PG
Atlanta Hawks SF
Atlanta Hawks SG
结果:
Parent Child
C PF
PF PG
PF SF
PF SG
我尝试在这方面与 Panda 合作。下面的代码在第一个条件下运行良好。如果有人帮助我修改此代码,我将不胜感激?
import pandas as pd
df = pd.read_csv("C:\\Users\\Desktop\\nba.csv")
gdf = df['Team']
gdf.to_csv('C:\\Users\\Desktop\\nba-dependency.csv')
for g in gdf:
df.loc[df['Position']=='C','Parent']=df['Position']
df.loc[df['Position']=='PF','Parent']=df['Position']
df.to_csv('C:\\Users\\Desktop\\result.csv')
【问题讨论】:
-
我试图解决这个问题,但发现问题很不清楚,你谈论依赖字段但从未显示实际输出的外观,请为给定数据添加所需的输出,我没有了解“它应该是什么”数据也代表什么,是一些 df 您在这里存储父子元组进行翻译的地方吗?我猜是因为它的行数与您的数据不同
-
是的,你是对的。我更正了内容。
-
我在 excel 中有现有数据,我想通过代码和条件将其更改为我在内容中显示的最终结果。
-
将添加父子标题的2列。如果 position 的值为 C,则父字段将由 C 完成。如果 position 的值为 PF ,则 C 将是父字段,而 PF 将是子字段。如果存在除 C 和 PF 之外的任何其他字段。 PF 将是父项,其他字段将是子项。
标签: python python-3.x pandas dataframe pandas-groupby