![](/img/trans.png)
[英]How to import a pandas dataframe from a python file to another python file
[英]import single pandas dataframe column from another python file
我正在嘗試將各種文件中的其他數據框列導入到一個文件中。
假設df1,df2和df3分別位於不同的.py文件中,但這些文件保存在同一文件夾中。
即df1保存在df1.py中df2保存在df2.py中df3保存在df3.py中
我試圖弄清楚如何將df2和df3中的列導入df1(具有7行),即使所有數據幀的行數都不同。
NaN行應表示為-(即破折號'-')
df1 = pd.DataFrame()
df1['A'] = (1,22,13,41,2,56,79)
df1['B'] = ('B','S','S', 'S', 'S', 'B', 'B')
df1['C'] = (1.02, 1.01, 1.44, 1.05, 1.05, 1.12, 1.22)
df2 = pd.DataFrame()
df2['D'] = (11,65,8,34,56,18,91,34,89,35,3,9,15)
df2['E'] = ('E','R','Y', 'N', 'X', 'T','Y', 'N', 'X', 'T', 'D', 'T', 'D')
df2['F'] = (1.02, 1.01, 1.44, 1.05,1.02, 1.01, 1.44, 1.05, 1.05, 1.12, 1.22, 1.12, 1.22)
df3 = pd.DataFrame()
df3['G'] = (1,22,13)
df3['H'] = ('S','S', 'S')
df3['I'] = (1.05, 1.05, 1.12)
打印以下是我希望df1在導入后的外觀
df1 = pd.DataFrame()
df1['A'] = (1,22,13,41,2,56,79)
df1['B'] = ('B','S','S', 'S', 'S', 'B', 'B')
df1['C'] = (1.02, 1.01, 1.44, 1.05, 1.05, 1.12, 1.22)
df1['D'] = (11,65,8,34,56,18,91)
df1['E'] = ('E','R','Y', 'N', 'X', 'T','Y')
df1['F'] = (1.02, 1.01, 1.44, 1.05,1.02, 1.01, 1.44)
df1['G'] = (1,22,13, '-', '-', '-', '-')
df1['H'] = ('S','S', 'S', '-', '-', '-', '-')
df1['I'] = (1.05, 1.05, 1.12, '-', '-', '-', '-')
print(df1)
采用 -
print(pd.concat([df1, df2, df3], axis=1).dropna(subset=['A', 'B', 'C']).fillna('-'))
輸出量
A B C D E F G H I
0 1.0 B 1.02 11 E 1.02 1 S 1.05
1 22.0 S 1.01 65 R 1.01 22 S 1.05
2 13.0 S 1.44 8 Y 1.44 13 S 1.12
3 41.0 S 1.05 34 N 1.05 - - -
4 2.0 S 1.05 56 X 1.02 - - -
5 56.0 B 1.12 18 T 1.01 - - -
6 79.0 B 1.22 91 Y 1.44 - - -
你可以試試:
import pandas as pd
import df1, df2, df3 # import files df1.py, df2.py and df3.py
print(pd.concat([df1.df1, df2.df2.iloc[:df1.df1.shape[0]], df3.df3], axis=1, sort=False).fillna('-'))
結果:
A B C D E F G H I
0 1 B 1.02 11 E 1.02 1 S 1.05
1 22 S 1.01 65 R 1.01 22 S 1.05
2 13 S 1.44 8 Y 1.44 13 S 1.12
3 41 S 1.05 34 N 1.05 - - -
4 2 S 1.05 56 X 1.02 - - -
5 56 B 1.12 18 T 1.01 - - -
6 79 B 1.22 91 Y 1.44 - - -
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.