假设我有一个如下的数据帧:
名称 | 日期 |
---|---|
第一次 | 某个日期 |
第一个 | 某个日期 |
FIRST | 某个日期 |
第一次 | 某个日期 |
try:
df.groupby(df.Name.str.lower()).count()
输出:
Name Date
Name
first 4 4
之后,您可以像['Date']
一样选择所需的列。
在这种情况下:
df.groupby(df.Name.str.lower()).count()['Date']
输出:
Name
first 4
Name: Date, dtype: int64
除了@99_m4n的答案外,只发布了完整的代码:
import pandas as pd
datadict = {'FIRST': 'some data', 'first': 'some data', 'First': 'some data', 'FirsT': 'some data'}
df = (
pd.DataFrame({'Name': list(datadict.keys()), 'Date': list(datadict.values())})
.assign(Name=lambda x: x["Name"].str.lower())
.groupby(['Name']).agg({'Date':'count'}))
df
len(df[df['Name'].str.lower() == 'first'])
尝试一下,它会将列值与特定字符串小写进行比较,并让您知道最终长度。