相关疑难解决方法(0)

在pandas数据框中选择多个列

我有不同列中的数据,但我不知道如何提取它以将其保存在另一个变量中.

index  a   b   c
1      2   3   4
2      3   4   5
Run Code Online (Sandbox Code Playgroud)

我该如何选择'a','b'并保存到DF1?

我试过了

df1 = df['a':'b']
df1 = df.ix[:, 'a':'b']
Run Code Online (Sandbox Code Playgroud)

似乎没有工作.

python select dataframe pandas

938
推荐指数
19
解决办法
196万
查看次数

根据列名重新排序pandas数据帧中的列

我有一个dataframe超过200列.问题在于订单生成了

['Q1.3','Q6.1','Q1.2','Q1.1',......]
Run Code Online (Sandbox Code Playgroud)

我需要按如下方式重新排序列:

['Q1.1','Q1.2','Q1.3',.....'Q6.1',......]
Run Code Online (Sandbox Code Playgroud)

我有办法在Python中做到这一点吗?

python dataframe pandas

257
推荐指数
7
解决办法
21万
查看次数

将pandas数据帧字符串条目拆分(爆炸)到单独的行

我有pandas dataframe一列文本字符串包含逗号分隔值.我想拆分每个CSV字段并为每个条目创建一个新行(假设CSV是干净的,只需要在','上拆分).例如,a应该成为b:

In [7]: a
Out[7]: 
    var1  var2
0  a,b,c     1
1  d,e,f     2

In [8]: b
Out[8]: 
  var1  var2
0    a     1
1    b     1
2    c     1
3    d     2
4    e     2
5    f     2
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试了各种简单的函数,但是.apply当在轴上使用时,该方法似乎只接受一行作为返回值,而我无法.transform工作.我们欢迎所有的建议!

示例数据:

from pandas import DataFrame
import numpy as np
a = DataFrame([{'var1': 'a,b,c', 'var2': 1},
               {'var1': 'd,e,f', 'var2': 2}])
b = DataFrame([{'var1': 'a', 'var2': 1},
               {'var1': 'b', 'var2': 1},
               {'var1': 'c', …
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

170
推荐指数
9
解决办法
9万
查看次数

pandas.concat中的列顺序

我这样做:

data1 = pd.DataFrame({ 'b' : [1, 1, 1], 'a' : [2, 2, 2]})
data2 = pd.DataFrame({ 'b' : [1, 1, 1], 'a' : [2, 2, 2]})
frames = [data1, data2]
data = pd.concat(frames)
data


   a    b
0   2   1
1   2   1
2   2   1
0   2   1
1   2   1
2   2   1
Run Code Online (Sandbox Code Playgroud)

数据列顺序按字母顺序排列.为什么会这样?以及如何保持原始订单?

python concat pandas

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

应用 sklearn.compose.ColumnTransformer 后保留列顺序

我正在使用库中的模块Pipeline对我的数据集执行特征工程。ColumnTransformersklearn

数据集最初看起来像这样:

日期 日期块编号 店铺ID 商品编号 商品价格
2013年1月2日 0 59 22154 999.00
2013年1月3日 0 25 2552 899.00
2013年1月5日 0 25 2552 899.00
2013年1月6日 0 25 2554 1709.05
2013年1月15日 0 25 2555 1099.00
$> data.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 2935849 entries, 0 to 2935848
Data columns (total 6 columns):
 #   Column          Dtype  
---  ------          -----  
 0   date            object 
 1   date_block_num  object  
 2   shop_id         object  
 3   item_id         object  
 4   item_price      float64
dtypes: float64(2), int64(3), object(1)
memory usage: 134.4+ MB …
Run Code Online (Sandbox Code Playgroud)

python pandas scikit-learn data-science

16
推荐指数
1
解决办法
6218
查看次数

基于相同字符的不同位置将正则表达式应用于熊猫列

我有一个如下所示的数据框

tdf = pd.DataFrame({'text_1':['value: 1.25MG - OM - PO/TUBE - ashaf', 'value:2.5 MG - OM - PO/TUBE -test','value: 18 UNITS(S)','value: 850 MG - TDS AFTER FOOD - SC (SUBCUTANEOUS) -had', 'value: 75 MG - OM - PO/TUBE']})
Run Code Online (Sandbox Code Playgroud)

我想应用正则表达式并根据下面给出的规则创建两列

colval应该存储value:之前和之后的所有文本first hyphen

colAdm应该在之后存储所有文本third hyphen

我尝试了以下但它不能准确地工作

tdf['text_1'].str.findall('[.0-9]+\s*[mgMG/lLcCUNIT]+')
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

python regex string dataframe pandas

10
推荐指数
3
解决办法
376
查看次数

Pandas Pivot Table手动排序列

对于给定的数据框:

UUT                  testa  testb  testc  testd
DateTime                                
2017-11-21 18:47:29    1.0    1.0    1.0    3.0
2017-11-21 18:47:30    1.0    2.0    1.0    4.0
2017-11-21 18:47:31    1.0    2.0    5.0    2.0
2017-11-21 18:47:32    1.0    2.0    5.0    1.0
2017-11-21 18:47:33    1.0    2.0    5.0    4.0
2017-11-21 18:47:34    1.0    2.0    5.0    1.0
Run Code Online (Sandbox Code Playgroud)

如果我想要以下顺序,我怎么能手动重新排列我想要的列?

testc, testd, testa, testb
Run Code Online (Sandbox Code Playgroud)

因此表格和情节将以这种方式:

UUT                  testc  testd  testa  testb  
DateTime                                         
2017-11-21 18:47:29    1.0    3.0    1.0    1.0  
2017-11-21 18:47:30    1.0    4.0    1.0    2.0  
2017-11-21 18:47:31    5.0    2.0    1.0    2.0  
2017-11-21 18:47:32    5.0    1.0    1.0    2.0  
2017-11-21 …
Run Code Online (Sandbox Code Playgroud)

python sorting pivot-table pandas

9
推荐指数
1
解决办法
2423
查看次数

更改熊猫数据框的列顺序

是否可以就地更改数据框中列的顺序?

如果是,那会比复印更快吗?我正在处理具有1亿多行的大型数据框。

我看到了如何使用副本更改顺序如何更改DataFrame列的顺序?

python pandas

5
推荐指数
1
解决办法
3982
查看次数

Python:如何在两列之间的pandas数据框中添加列?

我想在数字标记为列数据帧的两列之间的数据帧中添加一列.在以下数据框中,第一列对应于索引,而第一列对应于列的名称.

df
   0 0 1 2 3 4 5
   1 6 7 4 5 2 1
   2 0 3 1 3 3 4
   3 9 8 4 3 6 2 
Run Code Online (Sandbox Code Playgroud)

我有tmp=[2,3,5]我想要的列之间放45,所以

df
   0 0 1 2 3 4 5 6 
   1 6 7 4 5 2 2 1
   2 0 3 1 3 3 3 4
   3 9 8 4 3 6 5 2 
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

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

Pandas Group By 的奇怪行为 - 转换字符串列

我在使用 Pandas .groupby().transform() 时遇到了一个奇怪的行为。下面是生成数据集的代码:

df = pd.DataFrame({"Name" : ["Alice", "Bob", "Mallory", "Mallory", "Bob" , "Mallory"] ,
                   "Random_Number": [1223344, 373293832, 32738382392, 7273283232, 8239329, 23938832],
                   "City" : ["Seattle", "Seattle", "Portland", "Seattle", "Seattle", "Portland"]})
Run Code Online (Sandbox Code Playgroud)

这是我为transform() 编写的函数。

# this function will attach each value in string col with the number of elements in the each city group
# if the col type is not an object, then return 0 for all rows. 

def some(x): 
    if x.dtype == 'object':
        return x + …
Run Code Online (Sandbox Code Playgroud)

python transform pandas

5
推荐指数
1
解决办法
114
查看次数