我是Python新手,我想从数据框中提取字符串数据。这是我的数据框: 哪个州的县最多?
不幸的是我无法提取字符串!这是我的代码:
import pandas as pd
census_df = pd.read_csv('census.csv')
def answer_five():
return census_df[census_df['COUNTY']==census_df['COUNTY'].max()]['STATE']
answer_five()
答案 0 :(得分:0)
这个怎么样:
import pandas as pd
census_df = pd.read_csv('census.csv')
def answer_five():
"""
Returns the 'STATE' corresponding to the max 'COUNTY' value
"""
max_county = census_df['COUNTY'].max()
s = census_df.loc[census_df['COUNTY']==max_county, 'STATE']
return s
answer_five()
这应输出一个pd.Series
对象,其中'STATE'
值的最大值为'COUNTY'
。如果你只想要值而不是Series
(如你所说的问题,并且因为在你的图像中,COUNTY只有1个最大值)那么return s[0]
(而不是return s
)应该做
答案 1 :(得分:0)
def answer_five():
return census_df.groupby('STNAME')['COUNTY'].nunique().idxmax()
您可以使用按州名称汇总数据,然后计算唯一县并返回最大计数ID。
答案 2 :(得分:0)
由于某些原因,我遇到了相同的问题,因为我尝试使用.item()并设法提取所需的确切值。
对于您而言,它看起来像:
return census_df[census_df['COUNTY'] == census_df['COUNTY'].max()]['STATE'].item()