相关疑难解决方法(0)

pandas iloc vs ix vs loc解释; 他们有什么不同?

有人能解释这三种切片方法有何不同?
我已经看过这些文档了,我已经看到了这些 答案,但我仍然发现自己无法解释三者是如何不同的.对我来说,它们在很大程度上似乎是可以互换的,因为它们处于较低的切片水平.

例如,假设我们想获得a的前五行DataFrame.这三个都是如何运作的?

df.loc[:5]
df.ix[:5]
df.iloc[:5]
Run Code Online (Sandbox Code Playgroud)

有人可以提出三种情况,其中使用的区别更清晰吗?

python indexing dataframe pandas

574
推荐指数
3
解决办法
42万
查看次数

在列pandas python中获取非数字行

我查了一下这篇文章:在pandas中的数据框中查找非数字行? 但它并没有真正回答我的问题.

我的样本数据:

import pandas as pd


d = {
 'unit': ['UD', 'UD', 'UD', 'UD', 'UD','UD'],
 'N-D': [ 'Q1', 'Q2', 'Q3', 'Q4','Q5','Q6'],
 'num' : [ -1.48, 1.7, -6.18, 0.25, 'sum(d)', 0.25]

}
df = pd.DataFrame(d)
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

  N-D   num   unit
0  Q1  -1.48   UD
1  Q2   1.70   UD
2  Q3  -6.18   UD
3  Q4   0.25   UD
4  Q5   sum(d) UD
5  Q6   0.25   UD
Run Code Online (Sandbox Code Playgroud)

我想只筛选出'num'列中非NON-NUMERIC的行.我希望所有列只用于包含列'num'的非数字值的行.

期望的输出:

  N-D   num   unit
4  Q5   sum(d) UD
Run Code Online (Sandbox Code Playgroud)

我的尝试:

nonnumeric=df[~df.applymap(np.isreal).all(1)] #didn't work, it pulled out …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何在python pandas中将两列与if/else组合?

我对熊猫很新(即不到2天).但是,我似乎无法找出将两列与if/else条件组合的正确语法.

实际上,我确实找到了一种使用'zip'来实现它的方法.这就是我想要实现的目标,但似乎可能有更有效的方法在熊猫中做到这一点.

为了完整起见,我提供了一些预处理,以便清楚地说明:

records_data = pd.read_csv(open('records.csv'))

## pull out a year from column using a regex
source_years = records_data['source'].map(extract_year_from_source) 

## this is what I want to do more efficiently (if its possible)
records_data['year'] = [s if s else y for (s,y) in zip(source_years, records_data['year'])]
Run Code Online (Sandbox Code Playgroud)

python pandas

8
推荐指数
2
解决办法
7048
查看次数

如何按列拆分DataFrame

我有一个Pandas DataFrame它有11列,但我想将DataFrame从第1列而不是第0列拆分到第10列.我可以通过更复杂的方法实现它,而不是Pandas自己提供的方法.如何使用DataFrame支持的方法来完成Pandas

数据是595行乘11列,我想得到:

>>> import numpy as np
>>> import pandas as pd
>>> train_data = pd.DataFrame(my_data, columns=my_columns)
>>> train_data
       stockid           prich_m1        prich_m3         prich_m6  \
1    000002.SZ      1.55755700445  0.861009772647    5.42726384781   
2    000009.SZ  3.00223270244e-07    4.8010096027    4.46164511978       
..         ...                ...             ...              ...    
..         ...                ...             ...              ...          
594  603699.SH    0.0491892903353  0.934596516371  0.0196757161342   
595  603993.SH      0.83105321611  0.771692272102    2.02816558693   

                rsi            mkt_cap    held_by_ins        found_own  \
1    0.650879566982     153108876954.0  42.6353598479    14.9550575226   
2    0.462085308057      19492802690.5  25.8866394448    5.31468116104   
..         ... …
Run Code Online (Sandbox Code Playgroud)

python pandas

3
推荐指数
1
解决办法
3765
查看次数

标签 统计

pandas ×4

python ×4

dataframe ×1

indexing ×1