Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python重命名多列和汇总数据框 它可以成功地重命名列 案例1:不知道函数中的问题-重命名列 问题1:为什么输出将为零? 案例2:1。把数字2加起来。重命名所有列 综合数据 问题2:如何根据具体列对值进行适当的舍入? 预期结果_Python_Python 3.x_Pandas_Numpy - Fatal编程技术网

python重命名多列和汇总数据框 它可以成功地重命名列 案例1:不知道函数中的问题-重命名列 问题1:为什么输出将为零? 案例2:1。把数字2加起来。重命名所有列 综合数据 问题2:如何根据具体列对值进行适当的舍入? 预期结果

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

这是我的样本数据。我是python新手。我试图为我的数据帧重命名多个列,但我不知道问题所在。

我认为需要将这两个操作分开-首先
重命名
,然后
列通过强制转换为
整数
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'})