Python 选择数据帧后给出数字
你好,我有一张这样的桌子Python 选择数据帧后给出数字,python,json,pandas,list,dataframe,Python,Json,Pandas,List,Dataframe,你好,我有一张这样的桌子 Name Subject Score AA Math 30 AA English 40 AA CS 60 BB Math 40 BB English 55 BB CS 55 CC Math 89 CC English 75 CC CS 55 在选择了名称和主题后,我需要为筛选表提供编号 例如名称:AA BB,主题:数学英语
Name Subject Score
AA Math 30
AA English 40
AA CS 60
BB Math 40
BB English 55
BB CS 55
CC Math 89
CC English 75
CC CS 55
在选择了名称和主题后,我需要为筛选表提供编号
例如名称:AA BB,主题:数学英语。使用该表使其变为
Name Subject Score
AA Math 30
AA English 40
BB Math 40
BB English 55
Name Subject Score
BB English 55
BB CS 55
CC Math 75
CC CS 55
现在,我需要创建一个数字列表,以便为Web应用程序提供一个JSON,我的团队需要这样的格式
[[0,0,50],[0,1,40],[1,0,40],[1,1,50]]
列表中的第一个变量是name的id,第二个变量是subject的id,第三个变量是score
在另一种情况下,当选择名称:BB CC和主题:English CS时。使用该表使其变为
Name Subject Score
AA Math 30
AA English 40
BB Math 40
BB English 55
Name Subject Score
BB English 55
BB CS 55
CC Math 75
CC CS 55
在这段时间里,我需要再次给出0中的数字,以创建一个新的JSON到web应用程序。桌子似的
[[0,0,55],[0,1,55],[1,0,75],[1,1,55]]
我如何才能做到这一点,并使JSON始终更新ID号
import pandas as pd
df = pd.DataFrame({'Name': {0: 'BB', 1: 'BB', 2: 'CC', 3: 'CC'},
'Subject': {0: 'English', 1: 'CS', 2: 'Math', 3: 'CS'},
'Score': {0: 55, 1: 55, 2: 75, 3: 55}})
df['nid'] = df['Name'].astype('category').cat.codes
df['sid'] = df.groupby(['Name']).cumcount()
df[['nid','sid','Score']].values.tolist()
输出
[[0, 0, 55], [0, 1, 55], [1, 0, 75], [1, 1, 55]]
输出
[[0, 0, 55], [0, 1, 55], [1, 0, 75], [1, 1, 55]]
这里有一些简单的方法:
data = pandas.DataFrame(table) #your table/data
def my_func(Name):
#use the set data type to remove duplicates
names_set = set(data['name'])
id_number = list(names_set).index(Name) #get the index of the specified name
return id_number
这里有一些简单的方法:
data = pandas.DataFrame(table) #your table/data
def my_func(Name):
#use the set data type to remove duplicates
names_set = set(data['name'])
id_number = list(names_set).index(Name) #get the index of the specified name
return id_number
非常感谢。你能告诉我函数my_func中的名字是什么吗这里,“Name”是根据你的表格中的人名,例如:AA、BB、CC。如果您还没有理解,请告诉我。:)非常感谢。你能告诉我函数my_func中的名字是什么吗这里,“Name”是根据你的表格中的人名,例如:AA、BB、CC。如果您还没有理解,请告诉我。:)