如何用各自的变量名分配值?

时间:2018-06-20 01:10:11

标签: python python-3.x python-2.7

如何通过使用循环为数据帧中的各个字符串分配不同的数字来创建新列?例如:['buy','sell',hold']设为[-1,+ 1,0]吗?

这是我的专栏,我希望添加一个新专栏

enter image description here

2 个答案:

答案 0 :(得分:1)

使用多个赋值语句。 (我不确定添加新列的含义,因此也许可以说明您正在考虑的数据结构。)

示例:

    >>> d = {'buy': [1], 'sell': [3], 'hold': [5]}
    >>> df = pd.DataFrame(data=d)
    >>> d['buy'],d['sell'],d['hold'] = -1, 1, 0
    >>> print (d)
        {'sell': 1, 'hold': 0, 'buy': -1}

答案 1 :(得分:0)

听起来您只是在寻找熊猫的map方法:

>>> df = pd.DataFrame({
...     'stock': ['AAAA', 'BBBB', 'CCCC', 'DDDD', 'EEEE', 'FFFF'],
...     'disposition': ['buy', 'buy', 'sell', 'hold', 'buy', 'sell']})
>>> df['change'] = df.disposition.map({'buy': -1, 'sell': +1, 'hold': 0})
>>> df
  disposition stock  change
0         buy  AAAA      -1
1         buy  BBBB      -1
2        sell  CCCC       1
3        hold  DDDD       0
4         buy  EEEE      -1
5        sell  FFFF       1