Подсчет вхождений числа из определенного столбца в Python - PullRequest
0 голосов
/ 28 сентября 2018

Я пытаюсь сделать эквивалент функции COUNTIF () в Excel.Я застрял в том, как сказать .count () функции для чтения из определенного столбца в Excel.

У меня есть

df = pd.read_csv('testdata.csv')    
df.count('1') 

, но это не работает, и даже если это произошлоэто не достаточно конкретно.Я думаю, что мне, возможно, придется использовать read_csv для отдельного чтения определенных столбцов.

Пример:

Column name
4
4
3
2
4
1

функция выдаст, что есть один '1', и я мог бы запустить его снова иузнайте, что есть три ответа «4».и т.д.

Я получил его на работу!Спасибо

Я использовал:

print (df.col.value_counts().loc['x']

Ответы [ 2 ]

0 голосов
/ 28 сентября 2018

Вот пример простого рецепта 'countif', который вы можете попробовать:

import pandas as pd

def countif(rng, criteria):
    return rng.eq(criteria).sum()

Пример использования

df = pd.DataFrame({'column1': [4,4,3,2,4,1],
                   'column2': [1,2,3,4,5,6]})
countif(df['column1'], 1)
0 голосов
/ 28 сентября 2018

Если ничего не помогает, почему бы не попробовать что-то подобное?

import numpy as np
import pandas
import matplotlib.pyplot as plt

df = pandas.DataFrame(data=np.random.randint(0, 100, size=100), columns=["col1"])

counters = {}
for i in range(len(df)):
    if df.iloc[i]["col1"] in counters:
        counters[df.iloc[i]["col1"]] += 1
    else:
        counters[df.iloc[i]["col1"]] = 1

print(counters)
plt.bar(counters.keys(), counters.values())
plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...