社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
私信  •  关注

Andy L.

Andy L. 最近创建的主题
Andy L. 最近回复了
5 年前
回复了 Andy L. 创建的主题 » Python如何在dataframe中滑动sum数据?

你的 df np.roll

n = 3
a = np.array(df)
sum(np.roll(a, -x) for x in range(n))[:len(a)-n+1]

Out[29]: array([9, 7, 5, 4])
5 年前
回复了 Andy L. 创建的主题 » python在经理和员工ID之间进行递归查找

查找父/子或id之间的关系与图论有关,因此最好使用 Networkx package . 你需要把它安装到 pip g 使用networkx from_pandas_edgelist Emp_ID . 呼叫 nx.ancestors 对于每个使用genex(或者listcomp,如果您愿意)并将其传递给创建dataframe的员工 df3 . 最后, explode Mgr_ID 然后加入到 df2

import pandas as pd
import networkx as nx

g = nx.from_pandas_edgelist(df2, source='Mgr_ID', target='Emp_ID', create_using=nx.DiGraph)

df3 = pd.DataFrame(([list(nx.ancestors(g, x)), x] for x in df2.Emp_ID), 
                   index=df2.index, columns=['Mgr_ID', 'Emp_ID'])

df_final = df3.explode('Mgr_ID').join(df2[['Type', 'Location']])

Out[23]:
  Mgr_ID  Emp_ID Type Location
0    200     144    O    India
0    500     144    O    India
1    144     220    I       UK
1    500     220    I       UK
1    200     220    I       UK
2    200     155    I       UK
2    500     155    I       UK
3    500     200    I       US
5 年前
回复了 Andy L. 创建的主题 » 在python中,如何将列从unnamed:0重命名为带递增数的列

尝试 rename 有弦的 split

df = df.rename(lambda x: 't'+x.split(':')[-1], axis=1)

Out[502]:
      t0     t1           t2
0  Megan  30000       Botany
1    Ann  24000   Psychology
2   John  24000       Police
3   Mary  45000     Genetics
4    Jay  60000  DataScience

如果你不在乎里面的数字 unnamed:X ,只想打开增量 t ,您可以使用numpy arange np.char.add 建造它们

np.char.add('t', np.arange(df.shape[1]).astype(str))
array(['t0', 't1', 't2'], dtype='<U12')

直接分配给列

df.columns = np.char.add('t', np.arange(df.shape[1]).astype(str))
5 年前
回复了 Andy L. 创建的主题 » 将两个列表压缩到一起-Python

你也可以试试这个

[list(x) for x in zip(*X, *Y)]

Out[222]: [[17, 32], [4, -58]]
5 年前
回复了 Andy L. 创建的主题 » 如何在python中合并同一数据帧中的行?

它是带有列预处理的透视表

s = df.groupby('TEAM').cumcount()
m = s.astype(bool) * ('('+s.astype(str)+')')
df_out = df.set_index(['TEAM', m]).unstack().sort_index(level=1, axis=1).reset_index()
df_out.columns = df_out.columns.map(lambda x: f'{x[0]}{x[1]}')

Out[268]:
  TEAM  A1  A2  A1(1)  A2(1)
0   BC  35  11     41     12
1   HC  22  20     27     70
2   TC  25  50     31     14
6 年前
回复了 Andy L. 创建的主题 » 在python中,只在双引号后拆分字符串

你可以 replace split

s.replace('", ', '"|').split('|')

Out[672]: ['"BLAX"', ' "BLAY"', ' "BLAZ, BLUBB"', ' "BLAP"']