小编Oni*_*olo的帖子

更改R中数据框列表中的列名

目标:从以下列表中更改全局环境中所有数据框的列名称

全球环境中的人名

所以.

0)列名是:

 colnames = c("USAF","WBAN","YR--MODAHRMN") 
Run Code Online (Sandbox Code Playgroud)

1)我有以下data.frames:df1,df2.

2)我把它们放在一个清单中:

  dfList <- list(df1,df2)
Run Code Online (Sandbox Code Playgroud)

3)循环列表:

 for (df in dfList){
   colnames(df)=colnames
 }
Run Code Online (Sandbox Code Playgroud)

但是这会创建一个带有我需要的列名的新df,它不会更改df1,df2中的原始列名.为什么?可以提供解决方案吗?谢谢

可以像:

 lapply(dfList, function(x) {colnames(dfList)=colnames})
Run Code Online (Sandbox Code Playgroud)

工作?

r dataframe

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

删除Python Pandas DataFrame中的重复项不会删除重复项

我有删除重复项的问题.我的程序基于一个生成元组(x,y)的循环,然后将其用作图中的节点.节点的最终数组/矩阵是:

[[ 1.          1.        ]
[ 1.12273268  1.15322175]
[..........etc..........]
[ 0.94120695  0.77802849]
**[ 0.84301344  0.91660517]**
[ 0.93096269  1.21383287]
**[ 0.84301344  0.91660517]**
[ 0.75506418  1.0798641 ]]
Run Code Online (Sandbox Code Playgroud)

数组的长度是22.现在,我需要删除重复的条目(参见**).所以我用过:

def urows(array):
    df = pandas.DataFrame(array)
    df.drop_duplicates(take_last=True)
    return df.drop_duplicates(take_last=True).values
Run Code Online (Sandbox Code Playgroud)

很棒,但我仍然得到:

           0         1
0   1.000000  1.000000
....... etc...........
17  1.039400  1.030320
18  0.941207  0.778028
**19  0.843013  0.916605**
20  0.930963  1.213833
**21  0.843013  0.916605**
Run Code Online (Sandbox Code Playgroud)

因此删除重复项不会删除任何内容.我测试看看节点实际上是否相同,我得到:

print urows(total_nodes)[19,:]
---> [ 0.84301344  0.91660517]
print urows(total_nodes)[21,:]
---> [ 0.84301344  0.91660517]
print urows(total_nodes)[12,:] - urows(total_nodes)[13,:]
---> [ 0.  0.]
Run Code Online (Sandbox Code Playgroud)

为什么不工作?如何删除那些重复的值???

还有一个问题.... …

python numpy pandas

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

计算Python中的permeations

计算排列数的最快方法是什么?我有以下问题:

首先我有这个:

ncombos = itertools.combinations_with_replacement(['a1', 'a2', 'a3'], years*n)
('a1', 'a1', 'a1')
('a1', 'a1', 'a2')
('a1', 'a1', 'a3')
('a1', 'a2', 'a2')
.... etc.....    
('a3', 'a3', 'a3')
Run Code Online (Sandbox Code Playgroud)

目的是遍历每一个并计算每个人拥有的排列数,并用这些值构造一个数组.我用这个实现了:

nodes = np.ones(len(leafs)); i=0  #This will store the number of permutations

for j in ncombos:
    nodes[i] =len(list(set(itertools.permutations(np.asanyarray(j), n))))
    i = i+1
Run Code Online (Sandbox Code Playgroud)

np.asanyarray(j)将('a1','a1','a1')转换为正式['a1','a1','a1'],这需要排列()才能工作.集擦除了相同的排列.列表列出了这个.len计算我可以使用a1,a1,a1进行多少排列.

所以基本上我想要的只是计算排列的数量...但是我的代码非常!!! 慢 !谢谢!

python

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

列表的笛卡尔积没有重复

给定一个数组a=['a','b','c'],如何在没有重复的情况下返回数组的笛卡尔积.例:

[['a', 'a' , 'a' ,'a']
['a', 'a' , 'a' ,'b']
['a', 'a' , 'a' ,'c']
['a', 'a' , 'b' ,'b']
['a', 'a' , 'b' ,'c']
['a', 'a' , 'c' ,'c']
...etc..]
Run Code Online (Sandbox Code Playgroud)

下面如何在Python中生成列表的所有排列,我试过:

print list(itertools.permutations(['a', 'b' , 'c'], 4))
[]

print list(itertools.product(['a', 'b' , 'c'], repeat=4)
Run Code Online (Sandbox Code Playgroud)

但是我得到了重复的笛卡尔积.例如,列表将包含两者['a','a','b','b'],['a','b','b','a']哪些明显相等.

注意:我的'a','b','c'是存储数字的变量,例如1,2,3.在获得字母组合列表后,我需要:说,

['a','b','c','c'] ----> a*b*c*c = 1*2*3*3 = 18
Run Code Online (Sandbox Code Playgroud)

在python中执行此操作的最快方法是什么?用numpy做它会有可能/更快吗?谢谢!

python numpy

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

每月操作时间序列,在R中以apply.monthly为单位

问题是使用apply.monthly或任何其他类似函数来对数据集执行每月操作.我的数据如下所示:

> minidata[1:10,]
          date Month Year TMIN
 1  1948-01-01   Jan 1948  1.1
 2  1948-01-02   Jan 1948  7.2
 3  1948-01-03   Jan 1948  5.0
 4  1948-01-04   Jan 1948  9.4
 5  1948-01-05   Jan 1948  4.4

 > tail(minidata)
     date      Month Year TMIN
 54 1948-02-23   Feb 1948  2.8
 55 1948-02-24   Feb 1948 -0.6
 56 1948-02-25   Feb 1948  1.7
 57 1948-02-26   Feb 1948  2.8
 58 1948-02-27   Feb 1948  4.4
 59 1948-02-28   Feb 1948  3.3
Run Code Online (Sandbox Code Playgroud)

任务,使用我自己的函数来产生月平均值:

 mymean <- function(date){
   for (j in 1:days_in_month(date)){
     avg = (1/(days_in_month(date))
           *sum(minidata$TMIN[1:days_in_month(date)])} …
Run Code Online (Sandbox Code Playgroud)

r time-series xts

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

标签 统计

python ×3

numpy ×2

r ×2

dataframe ×1

pandas ×1

time-series ×1

xts ×1