首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使新数据成为pandas.dataframe中的默认值或默认值(而不是nan)

如何使新数据成为pandas.dataframe中的默认值或默认值(而不是nan)
EN

Stack Overflow用户
提问于 2022-04-26 09:57:48
回答 1查看 481关注 0票数 1

我正在用熊猫动态地建造一个df。其中,我希望添加新数据(元素)时默认为特定类型或值,而不是nan。这有可能吗?像这样:

代码语言:javascript
复制
import pandas as pd
df = pd.DataFrame()
df.at[1,["a","b","c"]] = "a"
df.at[2,["a","c"]] = "b"
print(df) 

你有:

代码语言:javascript
复制
   a    b  c
1  a    a  a
2  b  NaN  b

其中,df.at2,"b“被pd默认设置为"nan",但我希望它可以默认为空字符串(”“);

当我动态地创建这个df时,我不想使用pd.isna()或替换()来检查和分配每个循环中的值;

有没有一种方法,比如在初始pd时将这个pd设置为string类型?比如:df = pd.DataFrame(dtype=str) (我试过了,但似乎没有工作)

-更新

完整的代码类似于:

代码语言:javascript
复制
df = pd.DataFrame()
for loop:
   df.at[1,["a","b"]] = "a"
   df.at[2,["a"]] = "b"
   x = df.at[2,"b"] + "hi"

如果我以前不使用一些x来检查nan,那么其中的一行是错误的(浮点类型+字符串类型)。

在这种情况下,我认为df.fillna("")isna()/replace()要好得多,但仍然有一点限制。请再说一遍:)

EN

回答 1

Stack Overflow用户

发布于 2022-04-26 10:03:55

在数据文件创建之后使用df.fillna("")如何?通过这种方式,可以用指定的值填充nan值。

代码语言:javascript
复制
import pandas as pd
df = pd.DataFrame()
df['a'] = ["a","b","c"]
df['b'] = ["a","c", np.nan]
df = df.fillna("")

然后,你拿着这个

代码语言:javascript
复制
   a  b
0  a  a
1  b  c
2  c   
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72011953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档