首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python熊猫用拆分交换列值

Python熊猫用拆分交换列值
EN

Stack Overflow用户
提问于 2016-12-27 12:32:41
回答 1查看 207关注 0票数 0

我有一只熊猫df,看起来像这样:

代码语言:javascript
复制
TTL1   TTL2   TTL3   TTL4   TTL5
val1   val2   val3   val4   some value
val1   val2   val3   val4   
val1   val2   val3   val4   some more value
val1   val2   val3   val4   some value
val1          val3          val2 val4
val1   val2   val3   val4   some value

探索者:有时TTL2TTL4的值跳转到TTL5。因此,我要做的是检查TTL2TTL4是否为空,如果为空,则转到TTL5,将其除以(空格),并将每个值放入正确的列中。

虽然我面临一些麻烦.

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-27 12:50:48

我认为有一种更有效的方法(使用一种pandas矢量化方法),但这就是我到目前为止得到的结果。它应该有一个合理的运行时,只要您的数据不是太大。

代码语言:javascript
复制
import pandas as pd

df = pd.DataFrame({'TTL2': ['a', None], 'TTL4': ['b', None], 'TTL5': [None, 'a b']})

print(df)

#     TTL2  TTL4  TTL5
#  0     a     b  None
#  1  None  None   a b

for row in df.iterrows():
    index = row[0]
    ttl2_val = row[1].TTL2
    ttl4_val = row[1].TTL4
    if not ttl2_val and not ttl4_val:
        df.ix[index, 'TTL2'], df.ix[index, 'TTL4'] = row[1].TTL5.split()

print(df)

#      TTL2 TTL4  TTL5
#    0    a    b  None
#    1    a    b   a b
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41345294

复制
相关文章

相似问题

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