我有一个csv文件,我正在使用熊猫导入csv。我需要通读每一行,并且仅当该行的值为1时才打印

问题描述 投票:0回答:2

例如:

我的csv:

我有参加不同课程的学生,我想知道有多少学生参加哪门课程。

stud1 stud2 stud3 stud4 stud5 

c1 1 0 0 0 0c2 0 1 0 0 0c3 0 0 1 1 0c4 1 0 0 0 1c5 0 0 0 0 1

我希望输出为:

课程[1,1,2,2,1]

enter image description here

python pandas csv spyder
2个回答
0
投票

只需修改此示例。

dataframe = pandas.read_csv("mycsv")
number = 0
for index in dataframe.indexs:
    for  i in range(len(dataframe.loc[index].values)):
        if(dataframe.loc[index].values[i] =='fox'):
            number += 1
print(number)

0
投票

您可以使用lambda解决此问题。

df = pd.DataFrame([[1,0,0,0,0],[0,1,0,0,0],[0,0,1,1,0],[1,0,0,0,1],[0,0,0,0,1]])
df.apply(lambda x: x.sum(), axis = 1).values

[输出]:

array([1, 1, 2, 2, 1], dtype=int64)
© www.soinside.com 2019 - 2024. All rights reserved.