Питон, панды печатают чаще всего 1-1000 из csv - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть следующий код:

import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline
import csv
data1=pd.read_csv('11-01 412-605.csv', low_memory=False)
d412=pd.DataFrame(data1, columns=['size', 'price',  'date'])

new_df = pd.value_counts(d412['size']).reset_index()
new_df.columns = ['size', 'frequency']
print (new_df)


export_csv = new_df.to_csv ('empty.csv', index = None, header=True) 

Какие выходные данные: выходные данные Тем не менее, я хочу распечатать значения, которые имеют счет только 1-1000. Как мне это сделать, потому что прямо сейчас распечатывает все значения. Я пытался:

new_df = pd.value_counts(d412['size']<1000).reset_index()

Но это не работает, так как выводит истину или ложь для всех значений меньше 1000

Ответы [ 2 ]

0 голосов
/ 02 ноября 2019

Добро пожаловать в переполнение стека!

По ссылке Series.value_counts ясно, что value_counts () не позволяет фильтровать значения . Вы можете отфильтровать данные, используя DataFrame.loc на более позднем этапе, как это упоминалось и другими. Итак, следующий код должен работать:

new_df = pd.value_counts(d412['size']).reset_index()
new_df.columns = ['size', 'frequency']
print(new_df.loc[new_df['frequency'] <= 1000])
0 голосов
/ 02 ноября 2019

попробуй

print(new_df.loc[df_new['frequency']<1000,:])

если я неправильно понял столбцы счета, замените 'частоту' на 'размер'

...