我需要用python创建一个决策树(编码)。在sas中,它将如下所示
假设一个名为original的数据集包含三列c1、c2、c3
data temp;
set original;
if c1 > 10 and c2 < 6 then res = c1*c2;
else
if c3 < 27 or c2 > 9 then res = 6.3;
else if c1 > 57 or c3 > 38 then res = 10;
else res = 0;
run;
这将创建一个名为temp的数据集,其中包含与原始数据相同的列,并为表的每一行创
我在A列中有null (nan)值,并且当A列中同一行的单元格为null时,我希望将0赋给B列中的单元格。 列B已创建为以下lambda表达式: df['col_B'] = df.apply(lambda x: x.col_A in x.col_C, axis=1) 我试着修改它,但它不工作,从我所读到的,它是不建议的。 所以我尝试了一个经典的循环,它没有显示错误,但它没有修改B列中的单元格: for index, row in df.iterrows():
if row['col_A'] is None:
df.at[index, &
我正在尝试将列附加到数据帧中,并根据字符串是否包含特定的子字符串来确定值。我会在这里解释。我在python中工作。 我有以下字符串(或者更具体地说,一个包含字符串的对象): color = "tigerbluetree" 然后我有以下数据帧: Day Money
-----------------------
0 Day 1 3
1 Day 2 3
2 Day 3 5
3 Day 4 3
4 Day 5 2
5 Day 6
Python 3.8,使用Pandas。 我正在尝试去掉pandas数据框列' data‘中负数的符号,只留下幅度,即所有值都是正数。本质上,将一列中的值乘以-1,但仅当它为负值时。这是比较容易的一点。然后在数据帧中创建一条它已被颠倒的记录。因此在本例中创建另一个名为"Tubes Inverted“列 #Check sign and create a column recording if this has been inverted.
num = df['DATA']._get_numeric_data()
我在可能的列中搜索值。我能找到哪里有火柴。我面临的挑战是如何选择非空列。
import pandas as pd
import numpy as np
data = {"Search1":["one_two","two_ten", "five_ten"],
"Search2":["three_four","one_four","two_twelve"],
"FindMe":["three","on
我有一个数据集,如下所示:
A B C Location
10 15 15 South
11 12 42 North
20 13 36 South
15 30 40 West
10 40 20 East
15 20 10 South
45 45 23 North
12 12 12 West
2 0 1 East
我想要创建一个新的列,它根据条件A、B和C <=16打印真或假。
我试过这样做:
for rows in df.rows:
df['Purity'] = np.where((A <= 16 and B<=16 and C&l
Iam试图创建一个新列(全名),该列由第一个和家族名称组成,条件是如果name列不是空的,那么name列中的字符串应该在name列中替换,如果name列是空的,那么第一个和家族名称应该在name列中连接和替换。
这就是样本数据的样子;
name | firstname | familyname
kim humphrey | NaN | NaN
NaN | moustafa | elkashlan
NaN | Joey |
我有两个数据帧(df1和df2) df1:
A B C D
12 52 16 23
19 32 30 09
df2:
A G C D E
12 13 16 04 100 我想在df1中创建一个名为' compare‘的新列,然后比较列'A’和'C‘,如果它们相同,则在该行中为'Compare’赋予'X‘值。 result = df1[df1["A"].isin(df2["A"].tolist())]不工作。
我有一个现有的dataframe,df,如果现有列中的值满足特定的条件,我希望将几个列和值附加到中。
数据
location type count year
ny marvel 1 2021
ca dc 1 2021
期望的
location type count year strength points cost
ny marvel 1 2021 13 1000 100,000
ca dc
在Python3Pandas中使用dataframe,需要创建一个新列。我有两个具有不同长度字符串的类似列。新列应返回具有13个字符长度的第1或第2列。在excel中,我会把它写成:c2=if(len(b2)=13,b2,a2),然后把公式复制下来。
我需要解释的代码是:
df = pd.read_csv("example15.csv")
#create a new column with if-then statment
df['13_digit_#'] = (df.column1 len = 13 or df.column2 len = 13)
我该怎么改
我有一个数据框架和两个字典如下:
a = pd.DataFrame({'A':[1,2,3],'B':[4,5,6]})
x = {'a':'a'}
y = {'b':'b'}
现在,我想执行一个操作,添加一个新的列C,以便C中的每个单元格在A >=2和B >= 2时存储x,而不是存储y。由此产生的数据框架应相当于:
a = pd.DataFrame({'A':[1,2,3],'B':[4,5,6], 'C':[{'b':&
我是python的新手,有没有什么简单的方法可以根据python中的现有值创建分类值? city lapse
a 0
b 1
a 1
a 0
b 0
b 1 我想要创建的列是基于平均失效列的城市分类 city avg_lapse city_class
a 0.3 < .5
b 0.6 > .5 并基于该计算创建一个新列 city lapse city_class
a 0 < .5
b 1 > .5
a 1 < .5
a 0 < .
我已经知道在python中对数组的迭代非常慢。如果可能的话,你能改进这段代码吗?我只想从numpy数组中获取值,这些值比constat (1.4)大,否则设置为零。
def array_max(a):
b = a
for i in range(a.shape[0]):
for j in range(a.shape[1]):
for k in range(a.shape[2]):
if a[i, j, k] <= 1.4:
b[i,j,k] = 0
return b
我对Python相当陌生。我正试图在熊猫数据栏中创建一个条件列。我的数据看起来是这样的:
PayByPhone Location ID Location Name
59 Warner Road
59 Warner Road
69 Warner Road
59 Warner Road
59 Warner Road
69 Warner Roa
我需要处理一个列,并且基于一个条件(如果它为True ),需要为条目填充一些随机数字(而不是常量字符串/数字)。尝试了for循环和它的工作方式,但有没有其他类似于np.select或np.where条件的最快方法?
我已经写了for循环及其工作:'NUMBER‘列这里有几个大于1000的条目,我需要用(120,123)之间的任意随机浮点数来替换它们,而不是相同的b/w 120-123。我用过np.random.uniform,它也能正常工作。
for i in range(0,len(data['NUMBER'])):
if data['
我正在尝试迭代dataframe的每一行中的时间戳,以查看该时间戳是在特定日期之前还是之后。此外,我希望在dataframe中创建一个新列,该列指定日期是在指定日期之前还是之后。
这是我使用的代码:
df['created_at'] = pd.to_datetime(df['created_at'], errors='coerce')
for row in df.iterrows():
if df[(df['created_at'] >= '2019-03-15')]: