【问题标题】:Search string from csv column and print value_counts for string vallue从 csv 列中搜索字符串并打印 value_counts 以获取字符串值
【发布时间】:2021-02-28 15:32:37
【问题描述】:

好的,我无法在我的 csv 文件列中搜索该列中的特定文本并根据找到的某些文本执行 value_count。我是 python 新手,我搜索的所有内容都与打印值的方式不同。

例如,我看到df(df['column']) 正在搜索数据帧的槽,但是,我的不同之处在于我用df.colC.value_counts 调用我的数据。我不明白其中的区别,但很高兴它至少对这部分有效。

下面是我需要帮助的代码。

import pandas as pd
import ssl

#print(pd)
ssl._create_default_https_context = ssl._create_unverified_context

#Reading data from Integrator API and stripping un needed columns
df = pd.read_csv("https://someurlhere", sep=',', usecols=['colA', 'colB', 'colC', 'colD', 'colE'])

#Creating new file with API data grabbed
df.to_csv('localfilelocation.csv')


#Reading file for to get values
df = pd.read_csv('localfilelocation.csv', sep=',', usecols=['colA', 'colB', 'colC', 'colD', 'colE'])

#prints counts for each source in datraframe
#print(df)

#works and prints counts based on colC data
print(df.colC.value_counts())

#Tried multiple scenarios to search that doesn't work
#print(df.colC.value_counts.(str.contains['acct']))

【问题讨论】:

    标签: python-3.x pandas csv


    【解决方案1】:

    你的语法有问题。试试这个:

    df[df.colC.str.contains('acct')].colC.value_counts()
    

    在方括号部分中,您过滤掉字符串中没有“acct”的所有内容,然后在过滤部分调用值计数。至少这就是您正在寻找的东西。

    【讨论】:

    • 谢谢!正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    相关资源
    最近更新 更多