我想创建一个行,以便将其用作数据帧的标头.
格式是这样的
[a0, a1, a2]
Run Code Online (Sandbox Code Playgroud)
或者没有逗号我不确定将听众粘贴到数据框中需要什么.
我试过的是这个:
"a" + str(range(0,3))
Run Code Online (Sandbox Code Playgroud)
但结果如下:
a[0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
使用列表理解format:
c = ['a{}'.format(x) for x in range(3)]
print (c)
['a0', 'a1', 'a2']
Run Code Online (Sandbox Code Playgroud)
如果想在pandas dataframe中更改列名:
df.columns = 'a' + df.columns.astype(str)
Run Code Online (Sandbox Code Playgroud)
或使用add_prefix:
df = df.add_prefix('a')
Run Code Online (Sandbox Code Playgroud)
样品:
df = pd.DataFrame([[2,3,4]])
df = df.add_prefix('a')
print (df)
a0 a1 a2
0 2 3 4
Run Code Online (Sandbox Code Playgroud)
小智 5
range(0, 3)
Run Code Online (Sandbox Code Playgroud)
返回如下列表:
[0, 1, 2]
Run Code Online (Sandbox Code Playgroud)
如果你想让它成为[a0,a1,a2]你可以使用列表理解.
例如
myList = ["a" + str(val) for val in range(0, 3)]
Run Code Online (Sandbox Code Playgroud)
如果你还没有使用列表推导,那么这只是一种简洁的写作方式
myList = []
for val in range(0, 3):
myList.append("a" + str(val))
Run Code Online (Sandbox Code Playgroud)
在此之后,myList将会是
['a0', 'a1', 'a2']
Run Code Online (Sandbox Code Playgroud)
你可以使用map:
new_data = map(lambda x:"a{}".format(x), range(3))
Run Code Online (Sandbox Code Playgroud)
输出:
['a0', 'a1', 'a2']
Run Code Online (Sandbox Code Playgroud)
或者,稍短:
new_string = ("a{} "*3).format(*range(3)).split()
Run Code Online (Sandbox Code Playgroud)
输出:
['a0', 'a1', 'a2']
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |