首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在dataframe中查找dataframe列

在dataframe中查找dataframe列
EN

Stack Overflow用户
提问于 2022-11-12 20:30:12
回答 1查看 19关注 0票数 0

我有一个与此类似的数据文件(我的真实数据要大得多)

代码语言:javascript
复制
df_peter = pd.DataFrame({"height": [50,np.nan,65], "weight": [20,25,27]})
df_anna = pd.DataFrame({"height": [47,55,np.nan], "weight": [18,23,30]})

df = pd.DataFrame({"Name":["Peter", "Anna"], "Year":[2000, 2002], "Data":[df_peter, df_anna]})
df
代码语言:javascript
复制
    Name    Year    Data
0   Peter   2000    height weight 0 50.0 20 1 NaN ...
1   Anna    2002    height weight 0 47.0 18 1 55.0 ...

我的最终目标是在Peter和Anna的身高列上使用.fillna(method = "ffill")函数,所以我需要一种方法来定位这两个高度列,这也是绘制数据的实用方法。

对一行使用.fillna(method = "ffill")很容易

代码语言:javascript
复制
df.loc[0,"Data"]["height"].fillna(method = "ffill")

但是,对于这两行/所有行都不是那么容易,因为:df["Data"]["height"]不工作--实际上,我找到了一个解决方案,编写了这个问题:

代码语言:javascript
复制
df["Data"].apply(lambda x: x["height"].fillna(method = "ffill", inplace = True))

但是,有没有办法做到这一点,而不应用和兰巴?

EN

回答 1

Stack Overflow用户

发布于 2022-11-12 21:11:18

作为另一种选择,您可以使用循环:

代码语言:javascript
复制
for i in range(0,len(df)):
    df.loc[i,"Data"]["height"]=df.loc[i,"Data"]["height"].fillna(method = "ffill")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74416342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档