这是我的DataFrame:

import pandas as pd
df = pd.DataFrame(
    {
        'a': [4, 3, 2, 2, 6]
    }
)

这是预期的输出:我想创建列id:

   a   id
0  4  x_0
1  3  x_1
2  2  x_2
3  2  x_3
4  6  x_4

我可以像这样创建id个,但我认为这里有一个行代码:

df['id'] = np.arange(len(df))
df['id'] = 'x_' + df.id.astype(str)

我更喜欢不使用index的解决方案.

推荐答案

如果你想要一行代码,你必须将数组转换为Series(原始数组对于字符串连接是不实用的):

df['id'] = 'x_' + pd.Series(np.arange(len(df)), dtype=str)

# or
df['id'] = pd.Series(np.arange(len(df)), dtype=str).radd('x_')

输出:

   a   id
0  4  x_0
1  3  x_1
2  2  x_2
3  2  x_3
4  6  x_4

Python相关问答推荐

在Pandas框架中截短至固定数量的列

用gekko解决的ADE方程系统突然不再工作,错误消息异常:@错误:模型文件未找到.& &

Python中使用时区感知日期时间对象进行时间算术的Incredit

Pandas 填充条件是另一列

返回nxon矩阵的diag元素,而不使用for循环

将两只Pandas rame乘以指数

使用@ guardlasses. guardlass和注释的Python继承

如何过滤包含2个指定子字符串的收件箱列名?

Python列表不会在条件while循环中正确随机化'

考虑到同一天和前2天的前2个数值,如何估算电力时间序列数据中的缺失值?

如何在Python中使用Pandas将R s Tukey s HSD表转换为相关矩阵''

python中csv. Dictreader. fieldname的类型是什么?'

(Python/Pandas)基于列中非缺失值的子集DataFrame

Discord.py -

在电影中向西北方向对齐""

什么是一种快速而优雅的方式来转换一个包含一串重复的列,而不对同一个值多次运行转换,

你能把函数的返回类型用作其他地方的类型吗?'

如何在PythonPandas 中对同一个浮动列进行逐行划分?

TypeError:';Locator';对象无法在PlayWriter中使用.first()调用

一维不匹配两个数组上的广义ufunc