【问题标题】:Converting an integer value in pandas column to string [duplicate]将熊猫列中的整数值转换为字符串[重复]
【发布时间】:2021-08-07 12:07:09
【问题描述】:

我有一个示例数据如下:

datetime    x   y
2021-05-01. 25. val1
2021-05-02. 50. val2
2021-05-03. 100 val3
2021-05-04. 25.  val4
2021-05-05. 100. val5
2021-05-06. 50.  val6

我想创建一个名为 z 的新列,它将 25 映射到低、50 到中、100 到高,预期输出如下所示:

datetime    x   y.     z
2021-05-01. 25. val1.  Low
2021-05-02. 50. val2.  Medium
2021-05-03. 100 val3.  High
2021-05-04. 25.  val4. Low
2021-05-05. 100. val5. High
2021-05-06. 50.  val6. Medium

【问题讨论】:

标签: python pandas numpy data-science


【解决方案1】:

你可以使用 numpy 选择:

conditions = [df['x'] == 25, df['x'] == 50, df['x'] == 100]
choices = ['Low', 'Medium', 'High']

df['z'] = np.select(conditions, choices)

输出:

       datetime    x       y       z
0   2021-05-01.   25.  val1.     Low
1   2021-05-02.   50.  val2.  Medium
2   2021-05-03.  100.  val3.    High
3   2021-05-04.   25.  val4.     Low
4   2021-05-05.  100.  val5.    High
5   2021-05-06.   50.  val6.  Medium

如果格式是字符串使用:

conditions = [df['x'] == '25.', df['x'] == '50.', df['x'] == '100.']

【讨论】:

    【解决方案2】:

    你可以使用地图:

    d = {25:'Low',50:'Medium',100:'high'}
    df['z'] = df['x'].map(d)
    
    #       datetime      x     y       z
    # 0  2021-05-01.   25.0  val1     Low
    # 1  2021-05-02.   50.0  val2  Medium
    # 2  2021-05-03.  100.0  val3    high
    # 3  2021-05-04.   25.0  val4     Low
    # 4  2021-05-05.  100.0  val5    high
    # 5  2021-05-06.   50.0  val6  Medium
    

    【讨论】:

      【解决方案3】:

      pandas中有四种将整数转换为字符串的方法

      1: frame[‘DataFrame Column’]= frame[‘DataFrame Column’].map(str)

      2: frame[‘DataFrame Column’]= frame[‘DataFrame Column’].apply(str)

      3: frame[‘DataFrame Column’]= frame[‘DataFrame Column’].astype(str)

      4: frame[‘DataFrame Column’]= frame[‘DataFrame Column’].values.astype(str)

      【讨论】:

        猜你喜欢
        • 2017-07-31
        • 2017-03-28
        • 1970-01-01
        • 2020-03-22
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 2017-08-02
        相关资源
        最近更新 更多