相关疑难解决方法(0)

Pandas - 制作列dtype对象或因子

在pandas中,如何将DataFrame的列转换为dtype对象?或者更好的是,成为一个因素?(对于那些说R的人,在Python中,我该怎么办as.factor()?)

另外,pandas.Factor和之间的区别是pandas.Categorical什么?

python pandas

46
推荐指数
3
解决办法
6万
查看次数

熊猫:根据其他列的值有条件地替换值

我有一个数据框(df),如下所示:

                    environment     event   
time                    
2017-04-28 13:08:22     NaN         add_rd  
2017-04-28 08:58:40     NaN         add_rd  
2017-05-03 07:59:35     test        add_env
2017-05-03 08:05:14     prod        add_env
...
Run Code Online (Sandbox Code Playgroud)

现在,我的目标是针对add_rdevent列中的每个列,该列中的关联NaNenvironment应替换为string RD

                    environment     event   
time                    
2017-04-28 13:08:22     RD          add_rd  
2017-04-28 08:58:40     RD          add_rd  
2017-05-03 07:59:35     test        add_env
2017-05-03 08:05:14     prod        add_env
...
Run Code Online (Sandbox Code Playgroud)

我到目前为止所做的

我偶然发现df['environment'] = df['environment].fillna('RD')哪个替换了每个 NaN(这不是我要寻找的),pd.isnull(df['environment'])它正在检测缺失的值,np.where(df['environment'], x,y)这似乎是我想要的但无法正常工作。此外,我是否尝试过

import pandas as pd

for env in df['environment']:
    if pd.isnull(env) and df['event'] …
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas

5
推荐指数
2
解决办法
5240
查看次数

Pandas替换特定列上的值

我知道这两个类似的问题:

熊猫取代了价值观

Pandas:替换数据帧中的列值

我使用了一种不同的方法来替换值,我认为它应该是最干净的值.但它不起作用.我知道如何解决它,但我想理解为什么它不起作用:

In [108]: df=pd.DataFrame([[1, 2, 8],[3, 4, 8], [5, 1, 8]], columns=['A', 'B', 'C']) 

In [109]: df
Out[109]: 
   A  B  C
0  1  2  8
1  3  4  8
2  5  1  8

In [110]: df.loc[:, ['A', 'B']].replace([1, 3, 2], [3, 6, 7], inplace=True)

In [111]: df
Out[111]: 
   A  B  C
0  1  2  8
1  3  4  8
2  5  1  8

In [112]: df.loc[:, 'A'].replace([1, 3, 2], [3, 6, 7], inplace=True)

In [113]: df
Out[113]: …
Run Code Online (Sandbox Code Playgroud)

python pandas

4
推荐指数
1
解决办法
2万
查看次数

如何将列中的值更改为二进制?

python的新手,我被困在这个问题上。我的 CSV 文件包含以下内容:

Sr,Gender
1,Male
2,Male
3,Female
Run Code Online (Sandbox Code Playgroud)

现在我想将 Gender 值转换为二进制文件,这样文件看起来像:

Sr,Gender
1,1
2,1
3,0
Run Code Online (Sandbox Code Playgroud)

因此,我导入了 CSV 文件data并运行了以下代码:

data["Gender_new"]=1
data["Gender_new"][data["Gender"]=="Male"]=0
data["Gender_new"]=1=data["Gender_new"].astype(float)
Run Code Online (Sandbox Code Playgroud)

但我得到了错误 ValueError: could not convert string 'Male' to float:

我做错了什么,我怎样才能做到这一点?

谢谢

python python-3.x pandas

2
推荐指数
1
解决办法
2万
查看次数

在 Pandas 数据框中将值(例如性别)从字符串映射到 int

我有一个名为的数据框df_base,看起来像这样。正如您所看到的,有一个名为Sexthat's maleor的列female。我想将这些值分别映射为 0 和 1。

+---+-------------+----------+--------+---------------------------------------------------+--------+-----+-------+-------+------------------+---------+-------+----------+
|   | PassengerId | Survived | Pclass |                       Name                        |  Sex   | Age | SibSp | Parch |      Ticket      |  Fare   | Cabin | Embarked |
+---+-------------+----------+--------+---------------------------------------------------+--------+-----+-------+-------+------------------+---------+-------+----------+
| 0 |           1 |        0 |      3 | Braund, Mr. Owen Harris                           | male   |  22 |     1 |     0 | A/5 21171        |    7.25 | NaN   | S        |
| 1 |           2 |        1 |      1 | …
Run Code Online (Sandbox Code Playgroud)

python mapping pandas

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×5

python ×5

python-3.x ×2

dataframe ×1

mapping ×1