小编Col*_*son的帖子

使用 pandas 数据框中的文本字符串数据进行条件数据选择

我已经看过,但似乎找不到以下问题的答案。

我有一个与此类似的 pandas 数据框(称之为“df”):

        Type              Set
    1   theGreen          Z
    2   andGreen          Z           
    3   yellowRed         X
    4   roadRed           Y
Run Code Online (Sandbox Code Playgroud)

我想向数据帧添加另一列(或生成一系列),其长度与数据帧相同(=相等的记录/行数),如果类型包含字符串“Green”,则该列分配数字编码变量(1), (0) 否则。

本质上,我正在尝试找到一种方法来做到这一点:

   df['color'] = np.where(df['Type'] == 'Green', 1, 0)
Run Code Online (Sandbox Code Playgroud)

除了通常的 numpy 运算符(<、>、==、!= 等)之外,我需要一种表达“in”或“contains”的方式。这可能吗?任何和所有的帮助表示赞赏!

python string numpy dataframe pandas

6
推荐指数
1
解决办法
7830
查看次数

Python Pandas子集列x值基于y列中的唯一值

我有一个数据帧("df")相当于:

   Cat   Data
    x    0.112
    x    0.112
    y    0.223
    y    0.223
    z    0.112
    z    0.112
Run Code Online (Sandbox Code Playgroud)

换句话说,我有一个类别列和一个数据列,数据值不在类别列的值内变化,但它们可能在不同类别之间重复(即类别'x'和'z'中的值是相同 - 0.112).这意味着我需要从每个类别中选择一个数据点,而不是仅仅对"数据"的唯一值进行子集化.

我这样做的方式是这样的:

    aLst = []
    bLst = []
    for i in df.index:
        if df.loc[i,'Cat'] not in aLst:
            aLst += [df.loc[i,'Cat']]
            bLst += [i]

    new_series = pd.Series(df.loc[bLst,'Data'])
Run Code Online (Sandbox Code Playgroud)

然后我可以用它做任何我想做的事.但问题是,这似乎是一种笨拙,不py式的做事方式.有什么建议?

python indexing subset slice pandas

6
推荐指数
1
解决办法
5027
查看次数

os.environ 不返回新的和导出的环境变量

export new_v = "mynewvar" 在我的.bash_profile文件中设置了一个新的环境变量。我已经跑了source .bash_profile,当我跑的时候$ envterminal我可以看到新的变量。但是,当我运行os.environpython,它不在那里。我跑python 3.6.3IDLEOSX 10.13.1。有没有办法导出新的环境变量python以便能够访问它们?

python macos environment-variables

2
推荐指数
1
解决办法
2681
查看次数