我想做的应该是非常简单的.基本上,我有一些数据帧,我需要为某些列分配一些元组值.
例如:
pd_tmp = pd.DataFrame(np.random.rand(3,3))
pd_tmp["new_column"] = ("a",2)
Run Code Online (Sandbox Code Playgroud)
我只需要一个带有元组值的新列,我该怎么办?
ValueError: Length of values does not match length of index
Run Code Online (Sandbox Code Playgroud)
前面的代码得到错误.
Psi*_*dom 10
您可以将元组包装在列表中:
import pandas as pd
pd_tmp = pd.DataFrame(np.random.rand(3,3))
pd_tmp["new_column"] = [("a",2)] * len(pd_tmp)
pd_tmp
# 0 1 2 new_column
#0 0.835350 0.338516 0.914184 (a, 2)
#1 0.007327 0.418952 0.741958 (a, 2)
#2 0.758607 0.464525 0.400847 (a, 2)
Run Code Online (Sandbox Code Playgroud)
小智 5
我一直在寻找类似的东西,但就我而言,我希望元组是现有列的组合,而不仅仅是固定值。我找到了下面的解决方案,我分享它希望它对像我这样的其他人有用。
In [24]: df
Out[24]:
A B
0 1 2
1 11 22
2 111 222
3 1111 2222
In [25]: df['D'] = df[['A','B']].apply(tuple, axis=1)
In [26]: df
Out[26]:
A B D
0 1 2 (1, 2)
1 11 22 (11, 22)
2 111 222 (111, 222)
3 1111 2222 (1111, 2222)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5463 次 |
| 最近记录: |