use*_*836 1 python pandas python-3.6
#### the data is inverted #######
#### To bring back to its original position #######
df_1= df_i.iloc[::-1]
#### Set index again ###################
df_1.index = range(len(df_1.index))
Run Code Online (Sandbox Code Playgroud)
#
因为我正在创建一个数据框 df ,但我希望数据框名称为 df_0, df_1, df_2 ......................... df_n
在每次迭代中,我都想创建一个新的数据框,如何?
而我的计数 = 22,这意味着我的循环将运行 22 次。
有没有办法将所有数据帧水平连接为单个 dta 帧
14、15、16(来自第一张)、14A、15A、16A(来自第二张)、14B、15B、16B、(来自第三张)作为 col1、col2、col3、col4........ ………………
感谢你的帮助
bak*_*kka 11
你应该提出你的问题,这样其他人才能从这个网站上获得最大的优势。
我将尝试为这个问题提出解决方案。
在每次迭代中,我都想创建一个新的数据框,如何?
这个想法是将数据帧存储为字典的值。
cnt = 22 # your loop
dict_of_df = {} # initialize empty dictionary
for i in range(0,22):
newname = df_sheetnames['col'].values[i]
dict_of_df["df_{}".format(i)] = pd.read_excel('DATA.xlsx', sheetname=newname, skiprows=6, usecols=[14,15,16])
Run Code Online (Sandbox Code Playgroud)
您可以通过调用访问数据帧dict_of_df[key],其中key = "df_1", "df_2", ... , "df_22"
现在你有很多数据框,你想连接,使用 pandas.concat()
如果你想在那之后重命名列,只需写 complete_df.columns = ['col1', 'col2', 'col3', ...]