我对许多不同的变量进行迭代拟合,在少数情况下,我作为自变量使用的两列包含一组相同的值。这使得模型无法识别,并引发错误。我想要一种检查任何列是否与dataframe中的任何其他列相同的方法,然后返回有问题的列的名称。下面是一个示例dataframe。
a <- rnorm(10)
b <- rnorm(10)
c <- a
d <- rnorm(10)
dat <- data.frame(a,b,c,d)
人们已经回答了如何测试数据文件中的两个列是否是相同的。然而,我想要一种方法来检查每一列与每一其他列。
我想在下面的dataframe中规范该列:
import pandas as pd
from pprint import pprint
d = {'A': [1,0,3,0], 'B':[2,0,1,0], 'C':[0,0,8,0], 'D':[1,0,0,1]}
df = pd.DataFrame(data=d)
df = (df - df.mean())/df.std()
我不确定正常化是按行进行还是按列进行。
我打算为每一列做(x - mean of elements in the column)/ standard de
在Python中,要检查一个值是否在列表中,只需执行以下操作:
>>>9 in [1,2,3,6,9]
True
我也想为Pandas DataFrame做同样的事情,但不幸的是,Pandas没有意识到这种表示法:
>>>import pandas as pd
>>>df = pd.DataFrame([[1,2,3,4],[5,6,7,8]],columns=["a","b","c","d"])
a b c d
0 1 2 3 4
1 5 6 7
我目前正在处理一个大型数据集(超过100万行,1000列),其中的数据是不干净的--几乎每一列都包含一些缺失的值或一些应该查找数字条目的自由文本替换。因此,调用pd.DataFrame.dtypes会导致每一列都是'obj‘类型,而实际上它们应该是字符串字段和浮动字段的混合。我正在寻找一种方法来创建一个二级数据,显示每个单独条目的数据类型。例如,请考虑以下数据格式:
A B
1 ab 1.0
2 2 cd
我想制作一些类似于
A B
1 str float
2 int str
或者相应的熊猫类型。由于数据集的大
假设我有一个类似于以下内容的pandas.DataFrame df:
A0 A1 A2
0 a a b
1 b b g
2 c b h
3 d c NaN
现在有一些特定的值,我想对照这个DataFrame来检查。我们打电话给他们
candidates = ["a", "b", "c", "g"]
对于每个候选人,我想检查它是否对我的DataFrame的每一列都是唯一的(它可能发生在多个列中)。这组候选人的期望输出将是带有
pd.DataFrame(
[
df = pd.DataFrame({text_summary: ['my students need 8\ tablets to work on a project', 'My students need 5 tablets for our classroom technology center PLEASE!!!'] 我想遍历text_summary列的每一行,检查是否有任何数字,并返回true或false,并使用返回值在同一数据帧中创建另一列。
我正在尝试在Pandas DataFrame的DateTime索引中添加几秒钟。
为了做到这一点,我需要从另一列中减去值:
>>> frame["s_eventdatetime"] = frame["eventdatetime"].apply(lambda x: x - datetime.timedelta(seconds=frame["seconds"]))
TypeError: unsupported type for timedelta seconds component: Series
是否有人知道如何对相应的行值执行
我在运行Python2.7.6,熊猫0.13.1。我无法从DataFrame中计算相关矩阵,我也不知道为什么。下面是我的示例DataFrame:
In [24]: foo
Out[24]:
A B C
2011-10-12 0.006204908 -0.0009503677 0.003480105
2011-10-13 0.00234903 -0.0005122284 -0.001738786
2011-10-14 0.01045599 0.000346268 0.0023783
问题是
给定Series s和DataFrame df,如何使用s对df的每一列进行操作
df = pd.DataFrame(
[[1, 2, 3], [4, 5, 6]],
index=[0, 1],
columns=['a', 'b', 'c']
)
s = pd.Series([3, 14], index=[0, 1])
当我尝试添加它们时,我会得到所有的np.nan
df + s
a b c 0 1
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
我有一个名为train的Dataframe,它是从一个大型CSV文件中加载的,我想在每一列中计算唯一值的数量。显然,我可以为每一栏分别做这件事:
for col in categorical_cols:
num = train[col].nunique().compute()
line = f'{col}\t{num}'
print(line)
但是,上面的代码将为每一列遍历巨大的CSV文件,而不是只遍历文件一次。它需要大量的时间,我希望它能更快。如果我写它‘用手’,我肯定会这样做的一次扫描的文件。
Dask能有效地计算每
我有一个dataframe,我想检查每一行是否包含一列子字符串在另一列字符串中。如果character列中的字符存在于位置列的字符串中,则返回True,其他明智的方法是在Check列中返回False。(L =左,R=右,S=直,U=u)
Position Subposition Check
L R False
L L True
LR L True
SRU L False
我有一个从csv文件读取的Dataframe文件,有大约100万条记录和120个特性/列,我想在每一列中计算唯一值的数量。我可以使用for -循环分别为每一列执行此操作:
from dask import dataframe as dd
dask_df = dd.read_csv("train.csv")
for column in dask_df.columns:
print(dask_df[col].nunique().compute())
但是每次迭代时的计算都是非常昂贵的(每个工作人员拥有2GB的内存和2个vcore,每个工作人员有3个节点集群,每个工作人员需
我有一列值,它们是dataframe的一部分。
Value
6.868061881
6.5903628020000005
6.472865833999999
6.427754219
6.40081742
6.336348032
6.277545389
6.250755132
这些值是从几个CSV文件中组合起来的。现在我试图回溯并找到包含这些值的原始CSV文件。这是我的密码。问题是CSV文件的每一行都包含字母数字条目,我只比较数字条目(如上面的值)。所以代码不起作用。
for item in df['Value']:
for file in dirs:
我有一张像这样的数据。
A B C D E
0 a b c d e
1 f g h i j
2 k l m n o
3 p q r s t
我想要的是用每一列作为一个列表来获取数据。
0
0 [a, f, k, p]
1 [b, g, l, q]
2 [c, h, m, r]
3 [d, i, o, s]
4 [e, j, p, t]
我想以某种方式对每一列应用一个函数,将其转换为一个列表,并将其放入一个新的DataFrame中。但是,仅对单个条目进行应用。
我有一个9列的数据,其中两列是性别和吸烟状态。dataframe中的每一行都是一个人,每一列都是它们在特定特征上的条目。我想数一数符合条件,既吸烟,是男性的条目。我试过使用求和函数:
maleSmoke = sum(1 for i in data['gender'] if i is 'm' and i in data['smoker'] if i is 1 )
但它总是返回0。但是,当我只检查一个标准时,这个方法就能工作了,但我不知道如何将它扩展到第二个标准。我还试着编写了一个函数,该函数计算了进入dataframe的每个条目的数量,但对于所有条