我有一个pandas数据帧,它由300万行和50列组成,所有列都包含整数(正数或负数)。我想创建一个名为'feature‘的新列,它从现有的50列中提取最大的负数。
例如,如果对于给定行,50列包含以下值
-25,-24,-23,...,-1,1,...,23,24,25
“feature”列应返回-1。
因为我的数据帧太大了,所以我尝试的解决方案花费的时间太长了。例如,我尝试过使用列表理解,但是因为我求助于iterrows(),所以它太慢了(itertuples()的性能并没有明显的提高):
import numpy as np
import pandas as pd
from tq
我正在尝试基于一个公共列(df_apply )加入/合并两个数据文件(df_result和name)。听起来很简单,但其中一个数据类型具有pandas.core.series.Series列类型,另一个数据类型具有pandas.core.frame.Dataframe列类型。这将导致合并(pd.merge(df_apply, df_result, on='name')导致错误:
ValueError: The column label 'name' is not unique. For a multi-index, the label must be a tup
索引包含对象(字符串)的Pandas DataFrame的一行返回一个类型为object的系列。
df1 = pd.DataFrame({'a': np.arange(3), 'b': np.arange(0.5,3),'c': list('def')})
df1
a b c
0 0 0.5 d
1 1 1.5 e
2 2 2.5 f
df1.loc[0]
a 0
b 0.5
c d
Name: 0, dtype: object
索引Pandas DataFrame中不
此问题是以下问题Check if pandas column contains all elements from a list的扩展 在问题中,为了派生输出,在Pandas列中检查列表的所有成员。我需要检查列表的一个或多个元素,即即使列表中只有一个元素与pandas列中的元素匹配,我也希望在输出中考虑这一点 示例数据将为 frame = pd.DataFrame({'a' : ['a,b,c', 'a,c,f', 'b,d,f','a,z,c']})
letters = ['a','
我有以下Pandas数据帧:
Index Name ID1 ID2 ID3
1 A Y Y Y
2 B Y Y
3 B Y
4 C Y
我希望添加一个新列'Multiple‘,以指示在ID1、ID2和ID3列中有多个列中有Y值的那些行。
Index Name ID1 ID2 ID3 Multiple
1 A Y Y Y Y
2 B Y Y Y
我使用熊猫read_sql_query将MySQL数据库表中的数据读取到熊猫数据中。此表中的某些列具有所有空值。对于这些列,熊猫数据栏没有一行包含任何内容。对于所有其他列,dataframe包含有空值的NaN。有人能解释为什么所有空列都不返回吗?我如何确保我有所有的NaNs,希望不进行手动转换?我要补充的是,造成这个问题的两个列是浮动列,第三个列是类型为double,
编辑
下面是一个例子。pef和fer列包含数据库中的所有NULLS。
from sqlalchemy import create_engine
import pandas as pd
import math
querystr
我试图将数据帧值作为行追加,但将其作为列追加。我有32个文件,我想从(称为dataset_code)中获取第二列,并将其追加。但是它创建了32行和101列。我想要1列和3232行。
import pandas as pd
import os
source_directory = r'file_path'
df_combined = pd.DataFrame(columns=["dataset_code"])
for file in os.listdir(source_directory):
if file.endswith(".csv&
我正在尝试在新列中为Dataframe的所有行中的函数赋值。也就是说,下面的df应该包含名为random number的新列,其中包含在get_random()函数中生成的随机数。 import pandas as pd
from random import random
def get_random():
return random()
d = {'col1': [1, 2], 'col2': [3, 4]}
df = pd.DataFrame(data=d) 我尝试了下面的方法,但得到了错误get_random takes 0 position
我有一个包含多个列(20)和行(16404)的pandas数据帧。其中一列是“age”。我希望能够绘制其他指标,例如在某个年龄类别上的“收入”。20岁以下的男性和20岁到40岁的女性的收入是多少?
我尝试过这种情况:
for i in range(len(df['age'])):
if df['age'][i]<25 and df['Gender'][i]==1:
df['group'][i]=1
但是我得到了以下错误:The truth value of a Series is ambiguous.
我只是在尝试如何用pandas来阅读excel表格。我知道如何使用序列号对行和列进行排序。读取excel电子表格的一般方法是: file = ('path')
new = pds.read_excel(file)
new 我还可以使用usecols参数打印特定的列。但是,在我测试的程序中,我需要一个基于字符串的输入。例如,如果在Excel电子表格中有一个名为‘食品’的行,那么当我输入字符串Food时,我应该得到相应的行。但显然pandas只能使用序列号。 我想知道是否有一种方法可以只使用基于字符串的输入来浏览和打印特定的excel行?