python重命名多列和汇总数据框 它可以成功地重命名列 案例1:不知道函数中的问题-重命名列 问题1:为什么输出将为零? 案例2:1。把数字2加起来。重命名所有列 综合数据 问题2:如何根据具体列对值进行适当的舍入? 预期结果
这是我的样本数据。我是python新手。我试图为我的数据帧重命名多个列,但我不知道问题所在。我认为需要将这两个操作分开-首先python重命名多列和汇总数据框 它可以成功地重命名列 案例1:不知道函数中的问题-重命名列 问题1:为什么输出将为零? 案例2:1。把数字2加起来。重命名所有列 综合数据 问题2:如何根据具体列对值进行适当的舍入? 预期结果,python,python-3.x,pandas,numpy,Python,Python 3.x,Pandas,Numpy,这是我的样本数据。我是python新手。我试图为我的数据帧重命名多个列,但我不知道问题所在。我认为需要将这两个操作分开-首先重命名,然后将列通过强制转换为整数s取整: 为什么输出将为零 因为inplace=True在原地工作,这意味着不需要分配 sample.rename(columns = { 'k1' : 'num', 'k2' : 'name'},inplace = True) sample['num'] = sample['num'].round().astyp
重命名
,然后将列通过强制转换为整数
s取整:
为什么输出将为零
因为inplace=True
在原地工作,这意味着不需要分配
sample.rename(columns = {
'k1' : 'num',
'k2' : 'name'},inplace = True)
sample['num'] = sample['num'].round().astype(int)
print (sample)
num name
0 1 b
1 2 c
2 4 d
3 5 e
但如果要分配删除inplace=True
:
df.rename(columns = {
'k1' : 'num',
'k2' : 'name'},inplace = True)
此外,如果存在矢量化替代方案,则最好避免应用解决方案 你的问题是什么噢,对不起。我已经更新了问题。
def rename1(df):
print(df)
test1 = df.rename(columns = {
'k1' : 'num',
'k2' : 'name'},inplace = True)
print(test1)
return test1
rename1(sample)
def rename2(df):
print(df)
test2 = []
test2 = df.rename(columns = {
'k1' : df['num'].apply(lambda num : int(round(num))),
'k2' : df['name']},inplace = True)
print(test2)
return test2
rename2(sample)
print(sample['k1'].apply(lambda num : int(round(num))))
num name
0 1 b
1 2 c
2 4 d
3 5 e
sample.rename(columns = {
'k1' : 'num',
'k2' : 'name'},inplace = True)
sample['num'] = sample['num'].round().astype(int)
print (sample)
num name
0 1 b
1 2 c
2 4 d
3 5 e
df.rename(columns = {
'k1' : 'num',
'k2' : 'name'},inplace = True)
test1 = df.rename(columns = {
'k1' : 'num',
'k2' : 'name'})