因此,我尝试使用pandas而不是for循环来计算给定年份范围内的电影数量。假设按数据框有2列,'year‘是第2列的列名
我使用for循环解决了这个问题,但是如果只使用pandas,我该怎么做呢?
def movie_made(beginning, end):
movie = pd.read_scv('title.csv')
count = 0
for i in move['year']:
if beginning <= i and end <=i:
count = count + 1
我是python和pandas的新手,所以如果这是一个比较基本的问题,请原谅。我正在从csv文件中读取一些数据,我想从'M','F‘和NaN的'gender’列中进行计数。下面的代码输出如下: import pandas as pd
import numpy as np
df = pd.read_csv("....csv")
count = pd.value_counts(df['gender'],dropna=False) 这将输出以下内容: M 22
F
我希望根据某些条件对DataFrame进行分组,然后在第一行的组(而不是DataFrame)中找到满足某些谓词的整数索引。如果没有这样的行,我想得到NaN。
例如,我按列将a除以5,然后在每个组中查找第一行的索引,其中b列为“红色”:
import pandas as pd
import numpy as np
df = pd.DataFrame({'a': xrange(12), 'b': ['red', 'green', 'blue'] * 4})
a b
0 0 red
我有一个pandas数据框架,结构如下: idx | flag | val
----------------
0 | a | 17
1 | a | 18
2 | a | 17
3 | a | 14
4 | a | 17
5 | b | 7
6 | b | 8
7 | b | 7
8 | b | 7 如何删除每个标志的前n个值?
有一个这样的df:
Client Status Dat_Start Dat_End
1 A 2015-01-01 2015-01-19
1 B 2016-01-01 2016-02-02
1 A 2015-02-12 2015-02-20
1 B 2016-01-30 2016-03-01
我想要获得两个日期(Dat_end和Dat_Start)之间的平均值,以便使用Pandas语法按客户端列进行分组。
因此它将类似于smth SQL:
Select Client, AV
我有一个包含字符串列和ID列的dataframe
>>> import pandas as pd
>>> df
ID Sentence
0 The cat is running away
1 The lazy dog jumped over the brown fox just now
2 Hello
我想要做的是删除字符串太短或太长的行。例如,我希望将字符串的最小值设置为2字,最多为8字。筛选出阈值后,只返回ID#1。
ID Sentence
有谁知道如何按计数按查询过滤sphinxql组?例如,我有如下查询:
SELECT collection_id, count(*) as cnt
FROM mobile_content
WHERE collection_id != 0
GROUP BY collection_id
我只想得到cnt不大于5的行。如果我这样做,我会得到一个错误:
SELECT collection_id, count(*)
FROM mobile_content
WHERE collection_id != 0 AND count(*) > 5
GROUP BY collection_id;
我是Python新手,正在使用Pandas和NumPy。我有一个数据帧df,我想找到OZNAKA_PARTIJE列的值,但KLIJENT_ID的值不是唯一的,并删除这些行。 我尽量避免循环,但这里的条件似乎太复杂了,无法使用我所知道的方法。有没有可能使用Pandas或NumPy中的一些函数来编写这段代码的矢量化版本? 执行此循环需要很长时间,并以MemoryError结束。 party_labels = df['OZNAKA_PARTIJE'].unique().tolist()
for i in party_labels:
extracted_party_labe
我有一个需要搜索分号的pandas DataFrame (df)。我第一次尝试使用
semicolon_check = df.to_string().__contains__(';'),
但它非常慢,而且在DataFrames很大的情况下,我遇到了内存错误。然后,我尝试使用.str循环遍历列,但并非所有列都是字符串,因此每当我到达数值列时,都会收到一个错误
AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
所以我最终得到了这段代码
我有一个表,我想在其中筛选到那些只发现该行所属的组只有一个唯一值的行。例如,如果我将以下数据按index列分组,则希望在每个组中计数foo的唯一值,然后删除仅包含多个foo值的任何行
示例输入:
index foo
0 A 10
1 A 20
2 A 30
3 B 10
4 B 20
5 B 30
6 C 10
7 C 20
8 C 30
9 D 10
10 D 10
11 D 10
12 E 10
13
首先,让我描述一下我试图用PivotChart再现的Excel。
下面是生成示例数据集的代码:
# The code should work in Python 3.7 and pandas 0.24 or above
import pandas as pd
years = [i for i in range(2015,2021)]
countries = ['US', 'CA', 'JP', 'MX', 'IT']
months = [i for i in range(1,13)]
idx = pd.Multi
我有这个数据集
age salary gender
44 3000 M
32 4555 F
45 6000 M
50 4200 F
43 5000 F
23 1700 M
我想循环每一列并使用数字按性别获得年龄/薪资组的最大值/最小值,我这样做了:
import pandas as pd
import numby as np
data = pd.read_excel("file")
var = ["age","salary","gender"]
dat = data[var]
column_li