Home Php C# Sql C C++ Javascript Python Java Go Android Git Linux Asp.net Django .net Node.js Ios Xcode Cocoa Iphone Mysql Tomcat Mongodb Bash Objective-c Scala Visual-studio Apache Elasticsearch Jar Eclipse Jquery Ruby-on-rails Ruby Rubygems Android-studio Spring Lua Sqlite Emacs Ubuntu Perl Docker Swift Amazon-web-services Svn Html Ajax Xml Java-ee Maven Intellij-idea Rvm Macos Unix Css Ipad Postgresql Css3 Json Windows-server Vue.js Typescript Oracle Hibernate Internet-explorer Github Tensorflow Laravel Symfony Redis Html5 Google-app-engine Nginx Firefox Sqlalchemy Lucene Erlang Flask Vim Solr Webview Facebook Zend-framework Virtualenv Nosql Ide Twitter Safari Flutter Bundle Phonegap Centos Sphinx Actionscript Tornado Register | Login | Edit Tags | New Questions | 繁体 | 简体

0
votes
answers
楼主
18 views
+10

如何在Pandas中合併兩個專屬列?

1

我有兩列,這些列是獨佔的。 如果column1中第i行的條目是NaN,我想用第2列中的任何內容替換NaN。如何快速完成而無需迭代所有行?如何在Pandas中合併兩個專屬列?

沙发
0
1

你可以做類似

df.loc[df.column1.isnull(), 'column1'] = df.column2 

或可替代(這可能是更好的性能),

df.column1 = np.where(df.column1.isnull(), df.column2, df.column1) 

例如:

In [29]: df = pd.DataFrame({'column1': [1.2, np.nan, 3.3, np.nan], 'column2': [5.1, 6.2, 7.1, 8.4]}) 

In [30]: df 
Out[30]: 
    column1 column2 
0  1.2  5.1 
1  NaN  6.2 
2  3.3  7.1 
3  NaN  8.4 

In [31]: df.loc[df.column1.isnull(), 'column1'] = df.column2 

In [32]: df 
Out[32]: 
    column1 column2 
0  1.2  5.1 
1  6.2  6.2 
2  3.3  7.1 
3  8.4  8.4 
+0

現在看來似乎不起作用。如果列1中的元素是NaN,我想用列2中的第i個元素中的元素替換第1列中的第i個元素。 –

+0

我已經添加了一個說明它如何工作的例子。 – fuglede

discard