首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用x,y坐标从Pandas dataframe中移除数据并插入到另一个Dataframe中

使用x,y坐标从Pandas dataframe中移除数据并插入到另一个Dataframe中
EN

Stack Overflow用户
提问于 2019-09-05 21:56:48
回答 1查看 156关注 0票数 0

我正在尝试使用pandas在数据帧中搜索数据,然后使用收集的数据将这些数据插入到新数据帧上的特定位置。

假设我的代码是这样的:

代码语言:javascript
运行
复制
If row contains [A] then 

    x=data.iloc[<row>, <column selection>]

    y=data.iloc[<row>, <column selection>]

    z=data.iloc[<row>, <column selection>]

insert x to newdataframe at location (y,z)

因此,我想在该行中搜索一个值,然后如果该值存在,则通过新找到的行和预定义的列选择返回该行中的其他值。

然后,这些值中的两个将充当x和y坐标,以将z值放入新的dataframe中( dataframe已经使用正确的索引和列,这些索引和列将与生成的x和y值相匹配)。

我尝试过使用各种技术,包括numpy.where,但都没有用。我是python的新手,我被困在如何将我希望python做的事情翻译成真正的代码!我已经尝试将我的想法转化为真实的代码,但我认为解释我正在尝试做的事情变得更加困难,所以我希望这是有意义的。

我很感谢你能给予的任何帮助!

EN

回答 1

Stack Overflow用户

发布于 2019-09-06 00:36:40

使用示例会更好,但让我们尝试一下:)

"row contains A“在pandas中有点模糊,因为每一行都包含该行所有列的值。因此,您可能应该将其视为“选择'c‘列包含A的行”。

您可以使用:data[ data['c']==A ]来完成此操作。这将返回其中列'c‘具有值A的行data的子集。

为您之前编写的内容提供更类似于代码的形式:

代码语言:javascript
运行
复制
for i, row in data[ data['c']==A ].iterrows():

    x = row['column_of_x']
    y = row['column_of_y']
    z = row['column_of_z']

之后,您在伪代码块中编写的内容与描述不一致。我将坚持描述,其中xy表示位置,z表示值。

在这种情况下,您应该使用类似于new_data.loc[x,y] = z的内容。

正如我在最上面提到的,最好有一个关于你已经拥有和你想要拥有的东西的最小示例。我觉得这个问题可以通过pandas.DataFrame.groupby()很容易地解决。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57807141

复制
相关文章

相似问题

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