将 pandas 列中的整数值转换为字符串
Converting an integer value in pandas column to string
我有一个示例数据如下:
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
我想创建一个新列 calle 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
你可以使用 numpy select:
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.']
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)
您可以使用地图:
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
我有一个示例数据如下:
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
我想创建一个新列 calle 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
你可以使用 numpy select:
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.']
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)
您可以使用地图:
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