Replace dataframe values by NaN - python

I am working with a pandas dataframe of 15 rows and 8 columns, such a:
A B ... G H
0 0.158979 0.187282 ... 0.330566 0.458748
1 0.227254 0.273307 ... 0.489372 0.649698
2 0.308775 0.351285 ... 0.621399 0.833404
3 0.375850 0.444228 ... 0.759206 0.929980
4 0.431860 0.507906 ... 0.850741 1.038544
5 0.507219 0.596291 ... 0.980404 1.145819
6 0.570170 0.676551 ... 1.094201 1.282077
7 0.635122 0.750434 ... 1.155645 1.292930
8 0.704220 0.824748 ... 1.261516 1.395316
9 0.762619 0.887669 ... 1.337860 1.410864
10 0.824553 0.968889 ... 1.407665 1.437886
11 0.893413 1.045289 ... 1.519902 1.514017
12 0.946757 1.109964 ... 1.561611 1.478634
13 1.008294 1.174139 ... 1.596135 1.501220
14 1.053086 1.227203 ... 1.624630 1.503892
where columns from C to F have been omitted.
I would like to know how I can find the closest value to 1 for every column. Once this value is found I would like to replace the rest of the values in the columns by NaN, with the exception of the values corresponding to the previous and next row. Then obtaining a dataframe like that:
A B ... G H
0 NaN NaN ... NaN NaN
1 NaN NaN ... NaN NaN
2 NaN NaN ... NaN NaN
3 NaN NaN ... NaN 0.929980
4 NaN NaN ... 0.850741 1.038544
5 NaN NaN ... 0.980404 1.145819
6 NaN NaN ... 1.094201 NaN
7 NaN NaN ... NaN NaN
8 NaN NaN ... NaN NaN
9 NaN 0.887669 ... NaN NaN
10 NaN 0.968889 ... NaN NaN
11 NaN 1.045289 ... NaN NaN
12 0.946757 NaN ... NaN NaN
13 1.008294 NaN ... NaN NaN
14 1.053086 NaN ... NaN NaN
Does anyone has a sugestion for this?
Thanks in advance

you can use the fact that the closest to 1 is actually the min of the abs of df once remove 1. So check where the min is meet, use shift once with 1 and once with -1 to get the next and previous row. use this mask in where.
df_ = (df-1).abs()
df_ = df_.min() == df_
df_ = df_|df_.shift(1)|df_.shift(-1)
df_ = df.where(df_)
print(df_)
A B G H
0 NaN NaN NaN NaN
1 NaN NaN NaN NaN
2 NaN NaN NaN NaN
3 NaN NaN NaN 0.929980
4 NaN NaN 0.850741 1.038544
5 NaN NaN 0.980404 1.145819
6 NaN NaN 1.094201 NaN
7 NaN NaN NaN NaN
8 NaN NaN NaN NaN
9 NaN 0.887669 NaN NaN
10 NaN 0.968889 NaN NaN
11 NaN 1.045289 NaN NaN
12 0.946757 NaN NaN NaN
13 1.008294 NaN NaN NaN
14 1.053086 NaN NaN NaN

Related

How to delete a column out of a pandas pivot table? (Python)

I have a pandas dataframe like this:
In [31]: df.pivot(index='orderid', columns='C', values='productid')
Out [31]:
C 1 2 3 4 5 6 7 8 9 10 ... 71 72 73 74 75 76 77 78 79 80
orderid
20000765 624380 nan nan nan nan nan nan nan nan nan ... nan nan nan nan nan nan nan nan nan nan
20000766 624380 nan nan nan nan nan nan nan nan nan ... nan nan nan nan nan nan nan nan nan nan
20000768 1305984 1305985 1305983 1306021 nan nan nan nan nan nan ... nan nan nan nan nan nan nan nan nan nan
I would like to delete the first column. However, when I do that the table unpivots again.
What I can I do to delete the "C" / "Orderid" column and the numbers underneath it?

Pandas- How to append a transpose of dataframe to another dataframe as column headers?

I need to add DF1 values as column in DF2
DataFrame1
DataFrame2 (in which append operation is required)
Required DataFrame - DF3
Try pd.concat with an empty dataframe consisting only of headers. Here's a demo -
df1
A B
0 -0.820067 -0.078793
1 -0.341793 -0.301040
2 -0.122264 1.163896
3 -1.693027 0.147647
4 -1.322206 1.839631
5 0.902077 0.334976
6 0.628941 -1.252080
7 0.607116 -0.588056
8 0.564448 0.096036
9 -0.863496 0.345668
df2
HeaderName
0 XYZ
1 ABC
2 SRT
3 FFF
pd.concat([df1, pd.DataFrame(columns=df2.HeaderName)], 1)
A B XYZ ABC SRT FFF
0 -0.820067 -0.078793 NaN NaN NaN NaN
1 -0.341793 -0.301040 NaN NaN NaN NaN
2 -0.122264 1.163896 NaN NaN NaN NaN
3 -1.693027 0.147647 NaN NaN NaN NaN
4 -1.322206 1.839631 NaN NaN NaN NaN
5 0.902077 0.334976 NaN NaN NaN NaN
6 0.628941 -1.252080 NaN NaN NaN NaN
7 0.607116 -0.588056 NaN NaN NaN NaN
8 0.564448 0.096036 NaN NaN NaN NaN
9 -0.863496 0.345668 NaN NaN NaN NaN
Use DataFrame.join:
df2 = df1.join(pd.DataFrame(columns=df2['HeaderName']))
Or assign:
df2 = df1.assign(**pd.Series(index=df2['HeaderName']))
We can using reindex
df1.reindex(columns=list(df1)+df2.HeaderName.tolist())
Out[754]:
A B XYZ ABC SRT FFF
0 -0.820067 -0.078793 NaN NaN NaN NaN
1 -0.341793 -0.301040 NaN NaN NaN NaN
2 -0.122264 1.163896 NaN NaN NaN NaN
3 -1.693027 0.147647 NaN NaN NaN NaN
4 -1.322206 1.839631 NaN NaN NaN NaN
5 0.902077 0.334976 NaN NaN NaN NaN
6 0.628941 -1.252080 NaN NaN NaN NaN
7 0.607116 -0.588056 NaN NaN NaN NaN
8 0.564448 0.096036 NaN NaN NaN NaN
9 -0.863496 0.345668 NaN NaN NaN NaN

How to combine 2 csv files(each csv file having more than 100 columns and 425 & 7222 rows respectively) using pandas?

I have used pandas library to combine two csv files using pandas but i am not
getting desired result.In out.csv i m getting only column names.It seems like dropna function is not working after seeing Code 3 and Code 4.Please suggest me how should do it.First it was showing error dtype and low_memory so i used low_memory=false.After that also i am not getting right answer.
Code1:
import pandas as pd
a = pd.read_csv("true.csv",low_memory=False)
b = pd.read_csv("false.csv",low_memory=False)
#print b
#a=a.dropna(axis=1,how="all")
b = b.dropna(axis=1,how="all")
#print a
merged = a.merge(b, on='Name')
merged.to_csv("out.csv", index=False)
Output1:
out.csv
CMD shows no error
Code 2:
import pandas as pd
a = pd.read_csv("true.csv",low_memory=False)
b = pd.read_csv("false.csv",low_memory=False)
#print b
a=a.dropna(axis=1,how="all")
b = b.dropna(axis=1,how="all")
#print a
merged = a.merge(b, on='Name')
merged.to_csv("out.csv", index=False)
Same out.csv
CMD shows no error
Code 3:
import pandas as pd
a = pd.read_csv("true.csv",low_memory=False)
b = pd.read_csv("false.csv",low_memory=False)
print b
a=a.dropna(axis=1,how="all")
b = b.dropna(axis=1,how="all")
#print a
merged = a.merge(b, on='Name')
merged.to_csv("out.csv", index=False)
same out.csv
CMD output
Name nAcid ALogP ALogp2 AMR apol \
0 NCGC00090868-05 0 2.5092 6.296085 24.6331 11.087793
1 NCGC00258574-01 0 0.8580 0.736164 41.2286 25.019102
2 NCGC00256074-01 0 -1.2663 1.603516 29.8524 20.967516
3 NCGC00255887-01 0 -3.8723 14.994707 63.0584 48.122204
4 NCGC00257684-01 0 0.3201 0.102464 19.9881 15.227930
5 NCGC00255836-01 0 0.1835 0.033672 74.3973 37.687516
6 NCGC00255339-01 0 0.6030 0.363609 79.6663 44.210274
7 NCGC00254895-01 0 -0.0924 0.008538 50.8863 26.247516
8 NCGC00256627-01 0 1.6628 2.764904 50.8229 27.737102
9 NCGC00257445-01 0 -0.4644 0.215667 46.3842 24.281516
10 NCGC00256994-01 0 3.2104 10.306668 53.1445 30.028688
11 NCGC00256081-01 0 -0.1228 0.015080 43.5826 25.885516
12 NCGC00159473-05 0 2.1059 4.434815 62.4027 37.406481
13 NCGC00258886-01 0 0.5738 0.329246 24.9723 13.362758
14 NCGC00260536-01 0 1.5363 2.360218 91.9810 49.983860
15 NCGC00259214-01 0 -2.0207 4.083228 58.4309 40.459860
16 NCGC00254775-01 0 1.0180 1.036324 92.7307 47.861860
17 NCGC00257097-01 0 -0.8815 0.777042 44.2151 32.539860
18 NCGC00255059-01 0 0.8289 0.687075 54.5365 29.737516
19 NCGC00258829-01 0 0.6531 0.426540 38.7876 22.267930
20 NCGC00254435-01 0 -1.7996 3.238560 51.4988 41.589446
21 NCGC00256760-01 0 -1.9832 3.933082 37.0772 30.942653
22 NCGC00255967-01 1 NaN NaN NaN 21.685516
23 NCGC00094572-12 0 3.2214 10.377418 100.9937 52.076239
24 NCGC00256955-01 0 1.1604 1.346528 30.5714 16.447965
25 NCGC00258571-01 0 -0.4011 0.160881 46.3328 26.965516
26 NCGC00018221-08 1 1.7889 3.200163 81.6449 38.198723
27 NCGC00257404-01 0 0.4681 0.219118 48.5267 25.783516
28 NCGC00024595-08 0 0.9066 0.821924 97.5488 59.376583
29 NCGC00095099-05 3 -2.8747 8.263900 165.3811 92.940134
... ... ... ... ... ... ...
7692 NCGC00024309-17 0 1.1271 1.270354 123.3780 64.364618
7693 NCGC00092377-04 0 1.2781 1.633540 127.4281 65.573446
7694 NCGC00249894-01 2 0.9889 0.977923 93.7563 48.803895
7695 NCGC00258493-01 0 3.6334 13.201596 60.1071 25.220379
7696 NCGC00092328-02 1 0.9264 0.858217 117.7120 63.380618
7697 NCGC00015496-08 0 -3.4028 11.579048 55.2510 43.323790
7698 NCGC00255845-01 0 NaN NaN NaN 197.835924
7699 NCGC00255892-01 0 0.4437 0.196870 77.3472 40.541895
7700 NCGC00257628-01 0 2.3992 5.756161 30.7638 13.573586
7701 NCGC00095795-06 0 1.7370 3.017169 62.7555 28.529551
7702 NCGC00259502-01 0 1.7456 3.047119 67.2834 32.485516
7703 NCGC00254185-01 0 1.9464 3.788473 46.7099 19.902379
7704 NCGC00254078-01 0 1.9464 3.788473 46.7099 19.902379
7705 NCGC00259798-01 0 0.7592 0.576385 30.1050 14.373965
7706 NCGC00255984-01 0 4.3541 18.958187 97.1672 47.655895
7707 NCGC00258735-01 0 2.2459 5.044067 86.0636 43.796688
7708 NCGC00257478-01 0 5.1368 26.386714 95.2848 52.536618
7709 NCGC00163355-05 0 -0.2722 0.074093 84.3928 38.631930
7710 NCGC00254263-01 0 NaN NaN NaN 47.128758
7711 NCGC00260266-01 0 0.9368 0.877594 35.3574 21.567930
7712 NCGC00258239-01 0 2.3709 5.621167 75.0245 37.339102
7713 NCGC00257750-01 0 0.5695 0.324330 49.8130 25.248758
7714 NCGC00256348-01 0 0.2874 0.082599 41.9237 19.847551
7715 NCGC00254098-01 0 1.5354 2.357453 61.0800 33.663102
7716 NCGC00015563-13 0 1.6130 2.601769 97.3830 51.643032
7717 NCGC00258606-01 0 0.8041 0.646577 26.4598 15.491551
7718 NCGC00254798-01 0 -1.2646 1.599213 86.3007 41.545516
7719 NCGC00092310-06 0 -1.8789 3.530265 96.8643 57.331411
7720 NCGC00022043-06 0 0.6243 0.389750 102.7615 65.025376
7721 NCGC00257951-01 0 -0.2697 0.072738 142.9587 88.813306
naAromAtom nAromBond nAtom nHeavyAtom ... P1s P2s E1s E2s E3s \
0 0 0 8 7 ... NaN NaN NaN NaN NaN
1 0 0 24 10 ... NaN NaN NaN NaN NaN
2 0 0 21 9 ... NaN NaN NaN NaN NaN
3 0 0 48 20 ... NaN NaN NaN NaN NaN
4 0 0 15 5 ... NaN NaN NaN NaN NaN
5 0 0 32 20 ... NaN NaN NaN NaN NaN
6 0 0 38 20 ... NaN NaN NaN NaN NaN
7 0 0 24 12 ... NaN NaN NaN NaN NaN
8 0 0 25 11 ... NaN NaN NaN NaN NaN
9 0 0 22 10 ... NaN NaN NaN NaN NaN
10 0 0 27 11 ... NaN NaN NaN NaN NaN
11 0 0 24 12 ... NaN NaN NaN NaN NaN
12 0 0 34 17 ... NaN NaN NaN NaN NaN
13 0 0 12 6 ... NaN NaN NaN NaN NaN
14 0 0 43 23 ... NaN NaN NaN NaN NaN
15 0 0 38 18 ... NaN NaN NaN NaN NaN
16 0 0 42 22 ... NaN NaN NaN NaN NaN
17 0 0 32 12 ... NaN NaN NaN NaN NaN
18 0 0 24 12 ... NaN NaN NaN NaN NaN
19 0 0 19 9 ... NaN NaN NaN NaN NaN
20 0 0 36 14 ... NaN NaN NaN NaN NaN
21 0 0 31 10 ... NaN NaN NaN NaN NaN
22 0 0 21 9 ... NaN NaN NaN NaN NaN
23 0 0 45 22 ... NaN NaN NaN NaN NaN
24 0 0 12 7 ... NaN NaN NaN NaN NaN
25 0 0 24 12 ... NaN NaN NaN NaN NaN
26 0 0 30 19 ... NaN NaN NaN NaN NaN
27 0 0 22 10 ... NaN NaN NaN NaN NaN
28 0 0 55 24 ... NaN NaN NaN NaN NaN
29 0 0 84 46 ... NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ... ... ... ...
7692 0 0 55 29 ... NaN NaN NaN NaN NaN
7693 0 0 53 31 ... NaN NaN NaN NaN NaN
7694 0 0 40 25 ... NaN NaN NaN NaN NaN
7695 0 0 15 12 ... NaN NaN NaN NaN NaN
7696 0 0 54 28 ... NaN NaN NaN NaN NaN
7697 0 0 44 14 ... NaN NaN NaN NaN NaN
7698 0 0 151 83 ... NaN NaN NaN NaN NaN
7699 0 0 33 18 ... NaN NaN NaN NaN NaN
7700 0 0 8 6 ... NaN NaN NaN NaN NaN
7701 0 0 21 14 ... NaN NaN NaN NaN NaN
7702 0 0 27 15 ... NaN NaN NaN NaN NaN
7703 0 0 13 10 ... NaN NaN NaN NaN NaN
7704 0 0 13 10 ... NaN NaN NaN NaN NaN
7705 0 0 11 6 ... NaN NaN NaN NaN NaN
7706 0 0 34 19 ... NaN NaN NaN NaN NaN
7707 0 0 37 21 ... NaN NaN NaN NaN NaN
7708 0 0 46 20 ... NaN NaN NaN NaN NaN
7709 0 0 30 20 ... NaN NaN NaN NaN NaN
7710 0 0 20 14 ... NaN NaN NaN NaN NaN
7711 0 0 17 7 ... NaN NaN NaN NaN NaN
7712 0 0 31 17 ... NaN NaN NaN NaN NaN
7713 0 0 21 15 ... NaN NaN NaN NaN NaN
7714 0 0 16 9 ... NaN NaN NaN NaN NaN
7715 0 0 30 16 ... NaN NaN NaN NaN NaN
7716 0 0 45 21 ... NaN NaN NaN NaN NaN
7717 0 0 14 7 ... NaN NaN NaN NaN NaN
7718 0 0 33 21 ... NaN NaN NaN NaN NaN
7719 0 0 52 25 ... NaN NaN NaN NaN NaN
7720 0 0 59 27 ... NaN NaN NaN NaN NaN
7721 0 0 79 37 ... NaN NaN NaN NaN NaN
Ts As Vs Ks Ds
0 NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN
6 NaN NaN NaN NaN NaN
7 NaN NaN NaN NaN NaN
8 NaN NaN NaN NaN NaN
9 NaN NaN NaN NaN NaN
10 NaN NaN NaN NaN NaN
11 NaN NaN NaN NaN NaN
12 NaN NaN NaN NaN NaN
13 NaN NaN NaN NaN NaN
14 NaN NaN NaN NaN NaN
15 NaN NaN NaN NaN NaN
16 NaN NaN NaN NaN NaN
17 NaN NaN NaN NaN NaN
18 NaN NaN NaN NaN NaN
19 NaN NaN NaN NaN NaN
20 NaN NaN NaN NaN NaN
21 NaN NaN NaN NaN NaN
22 NaN NaN NaN NaN NaN
23 NaN NaN NaN NaN NaN
24 NaN NaN NaN NaN NaN
25 NaN NaN NaN NaN NaN
26 NaN NaN NaN NaN NaN
27 NaN NaN NaN NaN NaN
28 NaN NaN NaN NaN NaN
29 NaN NaN NaN NaN NaN
... .. .. .. .. ..
7692 NaN NaN NaN NaN NaN
7693 NaN NaN NaN NaN NaN
7694 NaN NaN NaN NaN NaN
7695 NaN NaN NaN NaN NaN
7696 NaN NaN NaN NaN NaN
7697 NaN NaN NaN NaN NaN
7698 NaN NaN NaN NaN NaN
7699 NaN NaN NaN NaN NaN
7700 NaN NaN NaN NaN NaN
7701 NaN NaN NaN NaN NaN
7702 NaN NaN NaN NaN NaN
7703 NaN NaN NaN NaN NaN
7704 NaN NaN NaN NaN NaN
7705 NaN NaN NaN NaN NaN
7706 NaN NaN NaN NaN NaN
7707 NaN NaN NaN NaN NaN
7708 NaN NaN NaN NaN NaN
7709 NaN NaN NaN NaN NaN
7710 NaN NaN NaN NaN NaN
7711 NaN NaN NaN NaN NaN
7712 NaN NaN NaN NaN NaN
7713 NaN NaN NaN NaN NaN
7714 NaN NaN NaN NaN NaN
7715 NaN NaN NaN NaN NaN
7716 NaN NaN NaN NaN NaN
7717 NaN NaN NaN NaN NaN
7718 NaN NaN NaN NaN NaN
7719 NaN NaN NaN NaN NaN
7720 NaN NaN NaN NaN NaN
7721 NaN NaN NaN NaN NaN
[7722 rows x 1876 columns]
Code 4:
import pandas as pd
a = pd.read_csv("true.csv",low_memory=False)
b = pd.read_csv("false.csv",low_memory=False)
#print b
a=a.dropna(axis=1,how="all")
b = b.dropna(axis=1,how="all")
print b
merged = a.merge(b, on='Name')
merged.to_csv("out.csv", index=False)
same out.csv
CMD output
Name nAcid ALogP ALogp2 AMR apol \
0 NCGC00090868-05 0 2.5092 6.296085 24.6331 11.087793
1 NCGC00258574-01 0 0.8580 0.736164 41.2286 25.019102
2 NCGC00256074-01 0 -1.2663 1.603516 29.8524 20.967516
3 NCGC00255887-01 0 -3.8723 14.994707 63.0584 48.122204
4 NCGC00257684-01 0 0.3201 0.102464 19.9881 15.227930
5 NCGC00255836-01 0 0.1835 0.033672 74.3973 37.687516
6 NCGC00255339-01 0 0.6030 0.363609 79.6663 44.210274
7 NCGC00254895-01 0 -0.0924 0.008538 50.8863 26.247516
8 NCGC00256627-01 0 1.6628 2.764904 50.8229 27.737102
9 NCGC00257445-01 0 -0.4644 0.215667 46.3842 24.281516
10 NCGC00256994-01 0 3.2104 10.306668 53.1445 30.028688
11 NCGC00256081-01 0 -0.1228 0.015080 43.5826 25.885516
12 NCGC00159473-05 0 2.1059 4.434815 62.4027 37.406481
13 NCGC00258886-01 0 0.5738 0.329246 24.9723 13.362758
14 NCGC00260536-01 0 1.5363 2.360218 91.9810 49.983860
15 NCGC00259214-01 0 -2.0207 4.083228 58.4309 40.459860
16 NCGC00254775-01 0 1.0180 1.036324 92.7307 47.861860
17 NCGC00257097-01 0 -0.8815 0.777042 44.2151 32.539860
18 NCGC00255059-01 0 0.8289 0.687075 54.5365 29.737516
19 NCGC00258829-01 0 0.6531 0.426540 38.7876 22.267930
20 NCGC00254435-01 0 -1.7996 3.238560 51.4988 41.589446
21 NCGC00256760-01 0 -1.9832 3.933082 37.0772 30.942653
22 NCGC00255967-01 1 NaN NaN NaN 21.685516
23 NCGC00094572-12 0 3.2214 10.377418 100.9937 52.076239
24 NCGC00256955-01 0 1.1604 1.346528 30.5714 16.447965
25 NCGC00258571-01 0 -0.4011 0.160881 46.3328 26.965516
26 NCGC00018221-08 1 1.7889 3.200163 81.6449 38.198723
27 NCGC00257404-01 0 0.4681 0.219118 48.5267 25.783516
28 NCGC00024595-08 0 0.9066 0.821924 97.5488 59.376583
29 NCGC00095099-05 3 -2.8747 8.263900 165.3811 92.940134
... ... ... ... ... ... ...
7692 NCGC00024309-17 0 1.1271 1.270354 123.3780 64.364618
7693 NCGC00092377-04 0 1.2781 1.633540 127.4281 65.573446
7694 NCGC00249894-01 2 0.9889 0.977923 93.7563 48.803895
7695 NCGC00258493-01 0 3.6334 13.201596 60.1071 25.220379
7696 NCGC00092328-02 1 0.9264 0.858217 117.7120 63.380618
7697 NCGC00015496-08 0 -3.4028 11.579048 55.2510 43.323790
7698 NCGC00255845-01 0 NaN NaN NaN 197.835924
7699 NCGC00255892-01 0 0.4437 0.196870 77.3472 40.541895
7700 NCGC00257628-01 0 2.3992 5.756161 30.7638 13.573586
7701 NCGC00095795-06 0 1.7370 3.017169 62.7555 28.529551
7702 NCGC00259502-01 0 1.7456 3.047119 67.2834 32.485516
7703 NCGC00254185-01 0 1.9464 3.788473 46.7099 19.902379
7704 NCGC00254078-01 0 1.9464 3.788473 46.7099 19.902379
7705 NCGC00259798-01 0 0.7592 0.576385 30.1050 14.373965
7706 NCGC00255984-01 0 4.3541 18.958187 97.1672 47.655895
7707 NCGC00258735-01 0 2.2459 5.044067 86.0636 43.796688
7708 NCGC00257478-01 0 5.1368 26.386714 95.2848 52.536618
7709 NCGC00163355-05 0 -0.2722 0.074093 84.3928 38.631930
7710 NCGC00254263-01 0 NaN NaN NaN 47.128758
7711 NCGC00260266-01 0 0.9368 0.877594 35.3574 21.567930
7712 NCGC00258239-01 0 2.3709 5.621167 75.0245 37.339102
7713 NCGC00257750-01 0 0.5695 0.324330 49.8130 25.248758
7714 NCGC00256348-01 0 0.2874 0.082599 41.9237 19.847551
7715 NCGC00254098-01 0 1.5354 2.357453 61.0800 33.663102
7716 NCGC00015563-13 0 1.6130 2.601769 97.3830 51.643032
7717 NCGC00258606-01 0 0.8041 0.646577 26.4598 15.491551
7718 NCGC00254798-01 0 -1.2646 1.599213 86.3007 41.545516
7719 NCGC00092310-06 0 -1.8789 3.530265 96.8643 57.331411
7720 NCGC00022043-06 0 0.6243 0.389750 102.7615 65.025376
7721 NCGC00257951-01 0 -0.2697 0.072738 142.9587 88.813306
naAromAtom nAromBond nAtom nHeavyAtom ... TDB1r TDB2r TDB3r \
0 0 0 8 7 ... NaN NaN NaN
1 0 0 24 10 ... NaN NaN NaN
2 0 0 21 9 ... NaN NaN NaN
3 0 0 48 20 ... NaN NaN NaN
4 0 0 15 5 ... NaN NaN NaN
5 0 0 32 20 ... NaN NaN NaN
6 0 0 38 20 ... NaN NaN NaN
7 0 0 24 12 ... NaN NaN NaN
8 0 0 25 11 ... NaN NaN NaN
9 0 0 22 10 ... NaN NaN NaN
10 0 0 27 11 ... NaN NaN NaN
11 0 0 24 12 ... NaN NaN NaN
12 0 0 34 17 ... NaN NaN NaN
13 0 0 12 6 ... NaN NaN NaN
14 0 0 43 23 ... NaN NaN NaN
15 0 0 38 18 ... NaN NaN NaN
16 0 0 42 22 ... NaN NaN NaN
17 0 0 32 12 ... NaN NaN NaN
18 0 0 24 12 ... NaN NaN NaN
19 0 0 19 9 ... NaN NaN NaN
20 0 0 36 14 ... NaN NaN NaN
21 0 0 31 10 ... NaN NaN NaN
22 0 0 21 9 ... NaN NaN NaN
23 0 0 45 22 ... NaN NaN NaN
24 0 0 12 7 ... NaN NaN NaN
25 0 0 24 12 ... NaN NaN NaN
26 0 0 30 19 ... NaN NaN NaN
27 0 0 22 10 ... NaN NaN NaN
28 0 0 55 24 ... NaN NaN NaN
29 0 0 84 46 ... NaN NaN NaN
... ... ... ... ... ... ... ... ...
7692 0 0 55 29 ... NaN NaN NaN
7693 0 0 53 31 ... NaN NaN NaN
7694 0 0 40 25 ... NaN NaN NaN
7695 0 0 15 12 ... NaN NaN NaN
7696 0 0 54 28 ... NaN NaN NaN
7697 0 0 44 14 ... NaN NaN NaN
7698 0 0 151 83 ... NaN NaN NaN
7699 0 0 33 18 ... NaN NaN NaN
7700 0 0 8 6 ... NaN NaN NaN
7701 0 0 21 14 ... NaN NaN NaN
7702 0 0 27 15 ... NaN NaN NaN
7703 0 0 13 10 ... NaN NaN NaN
7704 0 0 13 10 ... NaN NaN NaN
7705 0 0 11 6 ... NaN NaN NaN
7706 0 0 34 19 ... NaN NaN NaN
7707 0 0 37 21 ... NaN NaN NaN
7708 0 0 46 20 ... NaN NaN NaN
7709 0 0 30 20 ... NaN NaN NaN
7710 0 0 20 14 ... NaN NaN NaN
7711 0 0 17 7 ... NaN NaN NaN
7712 0 0 31 17 ... NaN NaN NaN
7713 0 0 21 15 ... NaN NaN NaN
7714 0 0 16 9 ... NaN NaN NaN
7715 0 0 30 16 ... NaN NaN NaN
7716 0 0 45 21 ... NaN NaN NaN
7717 0 0 14 7 ... NaN NaN NaN
7718 0 0 33 21 ... NaN NaN NaN
7719 0 0 52 25 ... NaN NaN NaN
7720 0 0 59 27 ... NaN NaN NaN
7721 0 0 79 37 ... NaN NaN NaN
TDB4r TDB5r TDB6r TDB7r TDB8r TDB9r TDB10r
0 NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN NaN NaN
6 NaN NaN NaN NaN NaN NaN NaN
7 NaN NaN NaN NaN NaN NaN NaN
8 NaN NaN NaN NaN NaN NaN NaN
9 NaN NaN NaN NaN NaN NaN NaN
10 NaN NaN NaN NaN NaN NaN NaN
11 NaN NaN NaN NaN NaN NaN NaN
12 NaN NaN NaN NaN NaN NaN NaN
13 NaN NaN NaN NaN NaN NaN NaN
14 NaN NaN NaN NaN NaN NaN NaN
15 NaN NaN NaN NaN NaN NaN NaN
16 NaN NaN NaN NaN NaN NaN NaN
17 NaN NaN NaN NaN NaN NaN NaN
18 NaN NaN NaN NaN NaN NaN NaN
19 NaN NaN NaN NaN NaN NaN NaN
20 NaN NaN NaN NaN NaN NaN NaN
21 NaN NaN NaN NaN NaN NaN NaN
22 NaN NaN NaN NaN NaN NaN NaN
23 NaN NaN NaN NaN NaN NaN NaN
24 NaN NaN NaN NaN NaN NaN NaN
25 NaN NaN NaN NaN NaN NaN NaN
26 NaN NaN NaN NaN NaN NaN NaN
27 NaN NaN NaN NaN NaN NaN NaN
28 NaN NaN NaN NaN NaN NaN NaN
29 NaN NaN NaN NaN NaN NaN NaN
... ... ... ... ... ... ... ...
7692 NaN NaN NaN NaN NaN NaN NaN
7693 NaN NaN NaN NaN NaN NaN NaN
7694 NaN NaN NaN NaN NaN NaN NaN
7695 NaN NaN NaN NaN NaN NaN NaN
7696 NaN NaN NaN NaN NaN NaN NaN
7697 NaN NaN NaN NaN NaN NaN NaN
7698 NaN NaN NaN NaN NaN NaN NaN
7699 NaN NaN NaN NaN NaN NaN NaN
7700 NaN NaN NaN NaN NaN NaN NaN
7701 NaN NaN NaN NaN NaN NaN NaN
7702 NaN NaN NaN NaN NaN NaN NaN
7703 NaN NaN NaN NaN NaN NaN NaN
7704 NaN NaN NaN NaN NaN NaN NaN
7705 NaN NaN NaN NaN NaN NaN NaN
7706 NaN NaN NaN NaN NaN NaN NaN
7707 NaN NaN NaN NaN NaN NaN NaN
7708 NaN NaN NaN NaN NaN NaN NaN
7709 NaN NaN NaN NaN NaN NaN NaN
7710 NaN NaN NaN NaN NaN NaN NaN
7711 NaN NaN NaN NaN NaN NaN NaN
7712 NaN NaN NaN NaN NaN NaN NaN
7713 NaN NaN NaN NaN NaN NaN NaN
7714 NaN NaN NaN NaN NaN NaN NaN
7715 NaN NaN NaN NaN NaN NaN NaN
7716 NaN NaN NaN NaN NaN NaN NaN
7717 NaN NaN NaN NaN NaN NaN NaN
7718 NaN NaN NaN NaN NaN NaN NaN
7719 NaN NaN NaN NaN NaN NaN NaN
7720 NaN NaN NaN NaN NaN NaN NaN
7721 NaN NaN NaN NaN NaN NaN NaN
[7722 rows x 1338 columns]
I didn't get exactly what you are asking for, but if 'Nan' values in your DFS is the problem, then try this...
In your code:
a=a.dropna(axis=1,how="all")
The issue is with "how" parameter you are using. It takes two values any/all
how : {‘any’, ‘all’}
any : if any NA values are present, drop that label
all : if all values are NA, drop that label
So, try using dataframe.dropna():
a=a.dropna()
Update: I tested with your files, and found that there were no records matching!
I appending two files is your requirement, it seems you are using the wrong operation ("merge" instead of "append").
Try this code:
a = pd.read_csv("true.csv",low_memory=False)
b = pd.read_csv("false.csv",low_memory=False)
merged = a.append(b, ignore_index=False)
merged.to_csv("out.csv", index=False)
after merge, you can use dropna if you want!!

Subtracting column from dataframe

Hi I'm trying to subtract values of one of DataFrame columns from whole DataFrame. Intuitively this seems like a non-problem for me, but somehow I can't figure it out.
Here is the code:
import pandas as pd
x = pd.DataFrame({
"a": range(1, 10),
"b": range(2, 11),
"c": range(11, 20)
})
print x - x['b']
And what I get is surprisingly:
0 1 2 3 4 5 6 7 8 a b c
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
3 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
4 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
5 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
6 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
8 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
Instead of DataFrame with columns: (a-b), (b-b), (c-b).
I just started playing with Python. Can you tell me what am I missing?
Thanks!
Try:
x.subtract(x['b'], axis=0)
a b c
0 -1 0 9
1 -1 0 9
2 -1 0 9
3 -1 0 9
4 -1 0 9
5 -1 0 9
6 -1 0 9
7 -1 0 9
8 -1 0 9
See docs for details on the axis=0 parameter, which ensures that the index of x['B'] aligns with the DataFrame index, and not the columns as per default.
To make the - operator work, you'd have to:
(x.T - x['b']).T

how to multiply multiple columns by a column in Pandas

I would like to have:
df[['income_1', 'income_2']] * df['mtaz_proportion']
return those columns multiplied by df['mtaz_proportion']
so that I can set
df[['mtaz_income_1', 'mtaz_income_2']] =
df[['income_1', 'income_2']] * df['mtaz_proportion']
but instead I get:
income_1 income_2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
0 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
1 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
2 NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN ...
ect...
what simple thing am I missing?
Thank you!
use multiply method and set axis="index":
df[["A", "B"]].multiply(df["C"], axis="index")
Another way of writing the answer of HYRY:
df.loc[:,['A', 'B']] = df.loc[:,['A', 'B']].multiply(df.loc[:, 'C'], axis="index")
Convert both factors to numpy arrays using to_numpy:
df.loc[:, ['D', 'E']] = df[['A', 'B']].to_numpy() * df[['C']].to_numpy()

Categories