Python或Unix/Bash。将大数据帧拆分为单独的列,保留前n列
我有一个大数据框(df)X,有n列(~30000),~2000行,列名如下: A、 B,C,D,F,G,H,V1453,73v,4-5,ss,9-dd,…,n X的元素是整数、浮点和字符串的混合体 使用python或unix/bash,我想将X拆分为n-7dfs。每个结果df将保留X的前7列+X的下一个单列。因此,前3个df将具有以下列: A、 B,C,D,F,G,H,v1 A、 B,C,D,F,G,H,453 A、 B,C,D,F,G,H,73v 等等 我希望每个生成的dfs保留其最后一列的名称+“.txt”。因此,前三个df将被称为“v1.txt”、“453.txt”和“73v.txt” 这篇文章在某种程度上类似于:Python或Unix/Bash。将大数据帧拆分为单独的列,保留前n列,python,dataframe,unix,Python,Dataframe,Unix,我有一个大数据框(df)X,有n列(~30000),~2000行,列名如下: A、 B,C,D,F,G,H,V1453,73v,4-5,ss,9-dd,…,n X的元素是整数、浮点和字符串的混合体 使用python或unix/bash,我想将X拆分为n-7dfs。每个结果df将保留X的前7列+X的下一个单列。因此,前3个df将具有以下列: A、 B,C,D,F,G,H,v1 A、 B,C,D,F,G,H,453 A、 B,C,D,F,G,H,73v 等等 我希望每个生成的dfs保留其最后一列的名
但我无法调整它。您可以按以下步骤进行:
import pandas as pd
import numpy as np
np.random.seed(42)
df = pd.DataFrame({'A': np.random.randint(0, 100, 10),
'B': np.random.randint(0, 100, 10),
'C': np.random.randint(0, 100, 10),
'D': np.random.randint(0, 100, 10),
'F': np.random.randint(0, 100, 10),
'G': np.random.randint(0, 100, 10),
'H': np.random.randint(0, 100, 10),
'v1': np.random.randint(0, 100, 10),
'453': np.random.randint(0, 100, 10),
'73v': np.random.randint(0, 100, 10)})
for i in range(7, df.shape[1]):
sub_df = df.iloc[:, np.r_[0:7, i]]
sub_df.to_csv(f'{df.columns[i]}.txt', sep='\t')