吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2144|回复: 10
收起左侧

[讨论] python pandas 序列从1开始,有更好的办法吗?

[复制链接]
ymhld 发表于 2020-4-4 21:04
[Python] 纯文本查看 复制代码
import pandas as pd

chengji=[[100,95,100,99],[90,98,99,100],[88,95,98,88],[99,98,97,87],[96.5,90,96,85],[94,94,93,91],[91, 99, 92, 87], [85, 88, 85, 90], [90, 92, 99, 88], [90, 88, 89, 81], [85, 89, 89, 82], [95, 87, 86, 88], [90, 97, 97, 98], [80, 92, 89, 98], [80, 98, 85, 81], [98, 88, 95, 92]]
data=pd.DataFrame(chengji,columns=['语文','英语','数学','政治'])
data1=data[['数学','语文','英语','政治']]                               #排序
data1=data1.reset_index(drop=True)                    #序列重建
data1.index.names=['序号']                                 #序列重命名
data1.index=data1.index+1                             #序列从1开始
print (data1)



有更好的办法吗?让序列从1开始

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

santus36 发表于 2020-4-4 21:31
试试
data=pd.DataFrame(chengji,columns=['语文','英语','数学','政治'],index=[i for i in range(1,len(chenji)+1)])
52c 发表于 2020-4-4 21:32
import pandas as pd
import numpy as np

chengji=[[100,95,100,99],[90,98,99,100],[88,95,98,88],[99,98,97,87],[96.5,90,96,85],[94,94,93,91],[91, 99, 92, 87], [85, 88, 85, 90], [90, 92, 99, 88], [90, 88, 89, 81], [85, 89, 89, 82], [95, 87, 86, 88], [90, 97, 97, 98], [80, 92, 89, 98], [80, 98, 85, 81], [98, 88, 95, 92]]
data=pd.DataFrame(chengji,columns=['语文','英语','数学','政治'])
data1=data[['数学','语文','英语','政治']]                     
data1.index.names=['序号']                    
data1.index = np.array(range(1,17))  
print(data1)
 楼主| ymhld 发表于 2020-4-4 21:38
52c 发表于 2020-4-4 21:32
import pandas as pd
import numpy as np

能直接设置name并直接让序列从1开始吗?这个还要计算出17来,如果再增加呢
 楼主| ymhld 发表于 2020-4-4 21:41
santus36 发表于 2020-4-4 21:31
试试
data=pd.DataFrame(chengji,columns=['语文','英语','数学','政治'],index=)

实际应用中,由于data数据前后有变动,数量也增加或减少了,建立dataframe初始用这个方法没有问题,如果是数据增减了呢
52c 发表于 2020-4-4 22:00
ymhld 发表于 2020-4-4 21:41
实际应用中,由于data数据前后有变动,数量也增加或减少了,建立dataframe初始用这个方法没有问题,如果 ...

用  len()  来算出行数 就好了
Qnly_genius 发表于 2020-4-4 22:34
[Python] 纯文本查看 复制代码
data1=data[['数学','语文','英语','政治']]
data1.index = range(1, len(data)+1)


这样试试?
白薇 发表于 2020-4-4 22:40
列表,切片可以吧?
 楼主| ymhld 发表于 2020-4-4 23:28
白薇 发表于 2020-4-4 22:40
列表,切片可以吧?

怎么弄?我要把序列得新命名成“序列”并要序列从1开始计
wysyz 发表于 2020-4-8 16:39
习惯0就好了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 18:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表